文章目录
本文内容借鉴书籍《大话设计模式》。是本人基于大话设计模式的一些总结和归纳
一.策略模式 ☆☆☆☆☆
二.【职责链模式】和【装饰模式】 ☆☆☆☆☆
1.职责链模式
2.装饰模式
“Component 是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorator的存在的。至于ConcreteDecorator 就是具体的装饰对象,起到给 Component添加职责的功能[DPE]。”
装饰模式是利用SetComponent来对对象进行包装的。这样每个装饰对象的实现就*和如何使用这个对象分离开了,每个装饰对象只关心自己的功能,不需要关心如何被添加到对象链当中[DPE]。用刚才的例子来说就是,我们完全可以先穿外裤,再穿内裤,而不一定要先内后外
如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。同样道理,如果只有一个ConcreteDecorator类,那么就没有必要建立一个单独的Decorator类,而可以把Decorator 和ConcreteDecorator的责任合并成一个类。
3.区别
策略模式和职责链模式的代码很相似。只不过在功能描述上或者场景上会有所不同。策略模式更强调给一个大功能增加局部功能,而职责链模式则更强调流程、链条,按照一定流程来完成一个指标或目标,或按照一定流程结算某个任务。
三.【代理模式】和【适配器模式】☆☆☆☆
1.代理模式
关键词:代理增强,隐藏本身的操作对象
2.适配器模式
系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况
3.区别
适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。
四.工厂模式 ☆☆☆☆☆
1.简单工厂
2.工厂方法
3.抽象工厂
五.原型模式 ☆
关键词:克隆、复制
六.模板方法模式 ☆☆☆☆☆
七.外观模式 ☆☆
八.建造者模式 ☆☆☆☆☆
九.观察者模式 ☆☆☆☆☆
十.状态模式 ☆☆☆
十一.备忘录模式 ☆☆
十二.组合模式 ☆☆☆☆☆
十三.迭代器模式 ☆
十四.单例模式 ☆
十五.桥接模式 ☆☆
十六.命令模式 ☆☆☆☆☆
十七.中介者模式 ☆☆
十八.享元模式 ☆
十九.解释器模式 ☆