1 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
GoF 的 “ 设计模式 ” 是第一次将设计模式提升到理论高度,并将之规范化,本书提出了 23 种基本设计模式,自此,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。
2 为什么要提倡 "Design Pattern" 呢?
根本原因是为了代码复用,增加可维护性。设计模式的意图旨在解决某类需求,而 Java 提供的常规机制是无法满足这些需求的
3 可以根据设计意图将 23 种设计模式分为以下五类:
Ø 接口型设计模式 (Interface pattern);
Ø 责任型设计模式 (Responsibility pattern);
Ø 构造型设计模式 (Construction pattern);
Ø 操作型设计模式 (Operations pattern);
Ø 扩展型设计模式 (Extensions pattern);
4 根据设计意图对模式的分类:
Ø 接口型模式: Adapter( 适配器 ) 模式, Facade( 外观 ) 模式, Composite( 组合 ) 模式, Bridge( 桥接 ) 模式
Ø 责任型模式: Singleton( 单例 ) 模式, Observer( 观察者 ) 模式, Mediator( 中介者 ) 模式, Proxy( 代理 ) 模式, Chain of Responsibility( 责任链模式 ),Flyweight( 享元 ) 模式
Ø 构造型模式: Builder( 生成器 ) 模式, Factory Method( 工厂方法 ) 模式, Abstract Factory( 抽象工厂 ) 模式, ProtoType( 原型 ) 模式, Memento( 备忘录 ) 模式
Ø 操作型模式: Template Method( 模板方法 ) 模式, State( 状态 ) 模式, Stratege( 策略 ) 模式 ,Command( 命令 ) 模式, Intepretor( 解释器 ) 模式
Ø 扩展型模式: Decorator( 装饰器 ) 模式, Iterator( 迭代器 ) 模式, Visitor( 访问者 ) 模式