Creational patterns 创建模式:关注对象创造的过程
Factory method pattern :工厂方法模式创建对象而不指定要创建的确切类
实现方法:
- 通过定义工厂父类负责定义创建对象的公共接口,而工 厂子类则负责生成具体的对象
- 每一类物品用同一个工厂父类(接口),工厂子类负责创建具体对象
- 每增加一种产品就需要增加一个新的工厂子类。
Abstract factory pattern :抽象工厂模式组具有共同主题的对象工厂
Builder pattern :构造器模式通过分离构造和表示来构造复杂对象
实现方法:
- 构建一个抽象构造器,提供构造product的各种构造方法
- 构造子类继承抽象构造器,构造具体的产品
- Director类有一个构造产品的方法,根据参数调用构造子类的方法构造出一个完整的产品
- 用户new抽象构造器和Director类,再将抽象构造器作为参数传进Director并调用其方法构建产品
Structural patterns 结构模式
处理类或对象的组成
Bridge:桥模式将抽象从其实现中分离出来,这样两个抽象可以独立变化
- 将抽象概念与实现分离,避免过于复杂的继承结构
- 可以在运行时切换实现
- 实施更改不应影响客户端
- 从客户端隐藏类的接口
- 使用两个层次结构
- 面向客户的逻辑继承结构
- 面向实现的物理继承结构
- 两个继承结构分离
- 将类的功能层次结构(abstract)与实现层次结构分离(implementation)
桥接模式详解:
https://www.cnblogs.com/chenssy/p/3317866.html
Proxy:代理为另一个对象提供了一个占位符,用于控制访问、降低成本和降低复杂性
- 远程代理:为一个对象在不同的地址空间提供局部代表(缓存机制)
- 虚代理:根据需要创建开销很大的对象
- 保护代理:提供访问保护
Composite:复合构成零个或多个类似对象,以便将它们作为一个对象进行操作
Behavioral patterns 行为模式
描述类或对象相互作用和分配责任的方式
- Observer:是一种发布/订阅模式,允许许多observer对象查看事件
- Mediator:允许类之间的松散耦合,因为它是唯一对其方法有详细了解的类
- Visitor:访问者通过将方法的层次结构移动到一个对象中,将算法与对象结构分离
- Chain of responsibility:责任链将命令委托给处理对象链
- Command:命令创建封装动作和参数的对象。