Design Pattern/设计模式 INDEX
PART I
Chapter 1: Iterator模式
对于复杂的对象和数据结构,为其设计一个专门的迭代器来遍历其中的角色。
Chapter 2: Adapter模式
根据现有的代码,在不改变代码内容的前提下对其进行二度封装和使用。
PART II
Chapter 3: Template Method模式
一个父类定义一个流程,多个子类提供多种实现。
Chapter 4: Factory Method模式
一对抽象的“工厂+产品”和继承他们的“工厂+产品”
PART III
Chapter 5: Singleton模式
全局有且只有一。
Chapter 6: Template模式
提前创建prototype,需要声明新的对象的时候直接根据prototype创建而无需使用new。
Chapter 7: Builder模式
一个一个的简单的类构建称为一个复杂的对象
Chapter 8: Abstract Factory模式
一个可以创建工厂的工厂。
PART IV
Chapter 9: Bridge模式
分离类的功能层次结构和实现层次结构。*
Chapter 10: Strategy模式
封装算法。
PART V
Chapter 11: Composite模式
子文件夹与父文件的属性并无不同,即内容和容器具有一致性。
Chapter 12: Decorator模式
蛋糕,和草莓,牛奶,巧克力,芝士,但它依然是蛋糕,并且可以添加更多的树莓和苹果酱。
PART VI
Chapter 13: Visitor模式
为了不经常的修改已经写好的类(数据结构),创建一个新的visitor类进行这些类中的元素的处理并实现这些方法。
Chapter 14: Chain of Responsibility模式
“我只负责奇数号码的身份证!是的话请到这里来,不是的话请去下一位专员!”“我只负责1开头的身份证!是的话请到这里来,不是的话请去下一位专员!”“我只负责性别为男的身份证!是的话请到这里来,不是的话请去下一位专员!”…
PART VII
Chapter 15: Facade模式
有太多盘根错节乱七八糟的类又想封装起来?为调用者提供一个优美的接口吧,即便它败絮其中,只要能够金玉其外就是一个很好的接口!
Chapter 16: Mediator模式
从类之间的网状网络通信关系到星形网络通信关系。
PART VIII
Chapter 17: Observer模式
一个被观察者,多个观察者。
Chapter 18: Memento模式
保存对象的状态。
Chapter 19: State模式
对象也可以来表示状态。(但是有必要吗?)
PART IX
Chapter 20: Flyweight模式
创建新的对象之前先看看,是否已经有了这个对象可以重新调用而毋需new?内存是宝贵的!
Chapter 21: Proxy模式
从“提供服务者-被服务对象”到“提供服务者-代理-被服务对象”。
PART X
Chapter 22: Command模式
类也可也是命令。
Chapter 23: Interpreter模式
创造语言之上的语言。