首页 > 其他分享 >12.20日记

12.20日记

时间:2023-12-20 12:14:34浏览次数:30  
标签:对象 12.20 代理 接口 子系统 实例 模式 日记

适配者模式:将接口转化为客户希望的接口,使不兼容的类可以一起工作;(类模式,对象模式);接口(方法或方法的集合)

实例:仿生机器人,加密适配器(第三方接口)

优点:将目标类与接口类解耦;类的透明性和复用性;扩展性增强,开闭原则;

缺点:类适配者(只能适配一个类,不能多;不能为最终类;抽象只能为接口),对象适配者(置换麻烦)

 

桥接模式:将抽象部分与现实部分分离,使他们能独立的变化;用聚合关联取代了继承;静态变为动态组合

实例:模拟毛笔大小颜色

优点:将接口与现实分离;两个维度可以独立的变化;增加了系统的扩展性,开闭原则;

缺点:增加系统设计难度理解难度,正确识别两个独立变化的维度难度大

 

组合模式:组合多个对象形成树形结构,“整体-部分”的关系;对单个对象和组合对象具有一致性

实例:水果盘,

优点:客户统一的使用;忽略层次差异;提供树形结构的解决方案;新增方便,开闭原则

缺点:新增构建类型限制

扩展:透明组合(抽象构件中声明了所有的方法)安全(抽象构件不声明,而是在composite中声明并实现)

 

装饰模式:动态的给一个对象增加额外的职责,比生成子类更灵活;客户透明添加职责;比增加子类,添加功能

实例:变形金刚(飞)多重加密(三层加密)

优点:静态(不需要继承,子类个数急剧增加)动态(动态的给对象添加职责);增加多个职责,独立的变化两个维度;扩展性好,开闭

 

外观模式:外部与子系统的通信通过统一的外观对象进行,为子系统的一组接口提供统一的接口,提供高层次接口,子系统可以更容易使用

符合(单一职责,迪米特法则)

实例:电源总开关

优点:减少客户端处理的对象数目;客户端与子系统松耦合;子系统变化不影响其他子系统

扩展:抽象外观类

 

享元模式:运用共享技术对大量细粒度对象支持复用,系统使用对象少,对象相似,细粒度对象,轻量级

实例:共享网络设备

优点:减少内存中对象的数量,外部状态与内部状态独立

 

代理模式:给一个对象提供一个代理让代理操作原对象,客户端与原对象中介作用,客户端不能看到内容,添加新功能

实例:论坛权限代理

远程代理,虚拟代理,保护代理,缓冲代理(临时)

 

标签:对象,12.20,代理,接口,子系统,实例,模式,日记
From: https://www.cnblogs.com/zhangmingmkzj/p/17916235.html

相关文章

  • 12.20每日总结
    1、常用配置  此方法用来配置访问路由,如下代码配置了将"/hello"映射到HelloController这个控制器,通过以下的配置,http://localhost/hello 将访问HelloController.index()方法,而http://localhost/hello/methodName 将访问到HelloController.methodName()方法。publ......
  • 大二快乐日记11.10
    MySQL提供了三种创建索引的方法:1)使用CREATEINDEX语句可以使用专门用于创建索引的CREATEINDEX语句在一个已有的表上创建索引,但该语句不能创建主键。语法格式:CREATE<索引名>ON<表名>(<列名>[<长度>][ASC|DESC])语法说明如下:<索引名>:指定索引名。一个表可以创建......
  • 大二快乐日记11.8
    索引就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,实质上是一张描述索引列的列值与原表中记录行之间一一对应关系的有序表。索引是MySQL中十分重要的数据库对象,是数据库性能调优技术的基础,常用于实现数据的快速检索。在MySQL中,通常有以下两种......
  • 大二快乐日记11.14
    基本语法当不再需要索引时,可以使用DROPINDEX语句或ALTERTABLE语句来对索引进行删除。1)使用DROPINDEX语句语法格式:DROPINDEX<索引名>ON<表名>语法说明如下:<索引名>:要删除的索引名。<表名>:指定该索引所在的表名。2)使用ALTERTABLE语句根据ALTERTABLE语句的语......
  • 【工作日记(实习)02】实习第46天
      其实第46天是上周五。  将要下雪,还未下雪。  头天通知10:30到酒店给大领导的报告捧场。  我八点醒(平时上班的话7:00就得醒了),然后计算了一下时间,赶去酒店。  没有直达的地铁,决定坐公交。  不先去单位了,决定直接从学校去酒店。  大约到了快9:40,我都快到了,发消......
  • 2023年12月日记
    12.15今天还是下雪,好看捏,早上不用跑操,多睡了十分钟,万豪附中薄纱本部。第一节就是oi,上完李帅早读过来了。huge终于把luogu给我们几个开开了。不知道干啥,决定学DP优化,看了几篇博客就写了。写了个CF327C,很典的一道单调队列优化,写完调的时候jd一直在打扰我要口香糖。jd:我都一年......
  • 12.15日记
    log4j.rootLogger=info,consolePrint,errorFile,logFile log4j.appender.consolePrint.Encoding=UTF-8log4j.appender.consolePrint=org.apache.log4j.ConsoleAppenderlog4j.appender.consolePrint.Target=System.outlog4j.appender.consolePrint.layout=org.apache.l......
  • 12月12日记录mybatis plus的初始学习
    今天开始mybatisplus的初始学习,首先是学习mybatisplus的引入方式需要引入下面三段代码<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency>......
  • 12.14日记
    FlinkJobManager架构原理的核心是JobMaster和ResourceManager,其中JobMaster负责任务的调度和监控,ResourceManager负责集群资源的管理。JobMaster和ResourceManager之间通过RPC通信进行交互。JobMaster主要负责以下几个方面:   任务管理JobMaster负责接收用户提交的任务,并将任......
  • 服务器日记
    查看玩法:自己拥有一台服务器可以做哪些很酷的事情?-知乎(zhihu.com)  自己拥有一台服务器可以做哪些很酷的事情?-知乎(zhihu.com)搜索监控服务器:netdata监控服务器_百度搜索(baidu.com)查看教程:65.7kStar!强大又全面的性能监控工具——Netdata-知乎(zhihu.com)查看......