一个核心目标:
管理变化,提高复用
两个手段
分解和抽象
八大原则
依赖倒置原则
开放封闭原则
单一职责原则
Liskov替换模式
接口隔离原则
对象组合优于类继承
封装变化点面向接口编程
重构技法
静态->动态
早绑定->晚绑定
继承->组合
编译时依赖->运行时依赖
紧耦合->松耦合
从封装变化角度对模式分类
组件协作:
Template Method
Strategy
Observer/Event
单一职责:
Decorator
Bridge
对象创建:
Factory Method
Abstract Factory
Prototype
Builder
对象性能:
Singleton
Flyweight
接口隔离:
Facade
Proxy
Mediator
Adapter
状态变化:
Memento
State
数据结构:
Compoosite
Iterator
Chain of
Resposibility
行为变化:
Command
Visitor
领域问题:
Interpreter
未完待续。。。