设计模式一句话总结
可能理解有偏差, 望指正, 勿参考
Factory: 将创建者和调用者分开(创建者, 调用者)
Factory Method: 创建者的创建行为交由子类完成
Abstract Method: 将有共性的类型的创建行为抽象出来
Builder: 将复杂对象的组装过程与调用者分离(创建者, 组装者, 调用者)
Prototype: 基于现有对象复制修改
Singleton: 全局唯一实例
Facade: 提供对外调用接口
Adapter: 兼用不同的接口
Proxy: 接口调用增加一个代理层, 不改变原有逻辑的情况下加入额外调用
Decorator: 动态增加原有接口的功能, 并能自由组合(使用组合扩展而不是继承)
Bridge: 将抽象和实现分开(作为参数传入?)
Composite: 类的组合关系(包含)
Flyweight: 复用已有的重复对象(线程池, 连接池)
Template: 定义框架, 将行为延迟到子类中实现
Observer: 将一个对象的行为通知到多个对象(回调注册)
State: 根据不同的状态实现不同的行为
Strategy: 抽象行为, 根据场景使用(ca)
Chain of Responsibility: 使多个对象都有机会处理请求(按需处理)
Command: 将操作抽象, 独立于调用者和接收者
Visitor: 不改变元素和类的情况下提供对元素的新操作
Mediator: 将各个对象解耦, 将多对象间的行为关联
Memento: 备份恢复类对象(有啥用? 相对于Prototype)
Iterator: 不暴露内部接口的情况下提供对内部元素的访问方法(对比Visitor)
Interpreter: 对语言进行解析, 抽象语法树(毛用?)