1 G O F 的23 种设计模式 一、创建型模式 Abstract Factory:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
Builder:将一个复杂对象的构件与它的表示分离,使得同样的构建过程可以创建不同的表述
Factory Method:定义一个用于创建对象的接口,让子类决定将哪一个类实例化
Factory Method使一个类的实例化延迟到其子类
Prototype:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象
Singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点
二、结构型模式 Adapter:将一个类的接口转换成客户希望的另外一个接口
Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
Bridge:将抽象部分与它的实现部分分离,使它们都可以独立地变化
Composite:将对象组合成树型结构以表示“部分-整体”的层次结构
Composite使得客户对单个对象和复合对象的使用具有一致性
Decorator:动态地给一个对象添加一些额外的职责
就扩展功能而言,Decorator模式比生成子类方式更为灵活
Facade:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用
Flyweight:运用共享技术有效地支持大量细粒度的对象
Proxy:为其他对象提供一个代理以控制对这个对象的访问
三、行为型模式 Chain of Responsibility:为解除请求的发送者和接受者之间耦合,而使多个对象都有机会处理这个请求
将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它
Command:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日