设计模式--23种模式精华(二)
来源:互联网 发布:优酷总是网络连接失败 编辑:程序博客网 时间:2024/06/05 11:38
原型模式(Prototype)
- 抽象概念
- 生产的时候是通过复制的方式把原来的产品复制一个出来,然后在这个产品上面进行调整
- 使用场景
- 大量new相同对象的时候
- new 对象比较繁琐的时候
- 方法
- clone
- 优点
- 内存拷贝,性能比较好
- 注意点
- 不执行构造方法
- 深浅拷贝的问题
中介者模式(Mediator)
- 抽象概念
- 进销存,三个对象互相都有关联,形成的是网状关系
- 如果采用中介者,形成的是星性的关系
- 场景
- 对象耦合的情况下,使用中介者模式可以进行相对的解耦.耦合都在中介者这里,
- 尤其是网状关系可以改成星型的关系
- 方法
- 将对象关联关系的操作定义到中介者对象里
命令模式(Command)
- 抽象概念
- 不同的人接受不同命令交给不同的执行者去执行
- 场景
- 某些操作在不同的接受者和不同执行者的情况下有所不同的场景
- 方法
- 分开定义接受类,执行类,命令类
- 首先创建命令,由接受类接受命令,然后将接受类交由执行者执行 -
责任链模式(Chain of Responsibility)
- 抽象概念
- 打仗了,班长接到个情报,有可能是班长说这个我可以处理,或这我处理完了给排长汇报,那个处理不了给排长处理吧,排长同样找连长,连长去找团长
- 总是要有人负责的
- 场景:
- 请求来了之后,发送请求的人不关心后面有多少个流程,只关系最后的结果
- 事情的处理有一定的流程,存在顺序
- 方法
- 使用链表的方式
装饰模式(Decorator)
- 抽象概念
- 给一个盒子装一个漂亮的盒子,在外面还可以装一个更漂亮的盒子,可以包装n个盒子,使用的时候,从外面一个一个打开,直到最后一个盒子打开
- 本质上没变,但多了层层的装饰和伪装
- 具有代理类的一定特征,具有责任链的一定特征,具有继承的一定特征
- 场景
- 代替继承来实现类似子类的扩展
- 方法
- 定义一个接口,叫抽象构件
- 具体的业务基础这个接口,叫具体构件
- 抽象的装饰类继承这个接口,抽象装饰者,定义一个被装饰的抽象构件
- 继承与抽象装饰者,叫具体装饰者,复写抽象构建的业务方法
- 使用的时候可以不停的新创建一个新的装饰者,参数是具体构件或装饰后的构件
0 0
- 设计模式--23种模式精华(二)
- 设计模式--23种模式精华(一)
- 设计模式--23种模式精华(三)
- 设计模式--23种模式精华(四)
- 设计模式--23种模式精华(五)
- 设计模式--23种模式精华(六)
- 设计模式--23种模式精华(七)
- 23种设计模式(二)
- 设计模式 精华一页纸
- [设计模式]二十三种设计模式
- java 23种设计模式(二)
- 23种设计模式(java)二
- 23种设计模式之二
- 23种设计模式(二)
- 23种设计模式二:创建型工厂方法模式
- 23种设计模式(20):责任链模式(二)
- 23种设计模式之原型模式(二)
- JAVA的23种设计模式---代理模式(二)
- Android软键盘的弹出和隐藏
- 9-5在类中定义装饰器
- 简述单例设计模式的一些理解及代码实现
- dataTables的属性及用法
- Java中hashcode方法与equals方法关联关系的直观解释
- 设计模式--23种模式精华(二)
- Lua学习笔记(2):基本语法
- MongoDB安装Windows服务
- ThinkPHP(4)--输出和模型使用2
- HA+Federation集群实现(七)
- Masonry 使用中的一些整理
- Spring学习第二章
- Mac下安装mysql5.7 完整步骤(图文详解)
- 理解长短期记忆网络(LSTM)--转自CSDN云计算