八大原则:
1.依赖倒置原则
2.开放封闭原则
3.单一职责原则
4.Liskov 替换原则
5.接口隔离原则
6.对象组合优于类继承
7.封装变化点
8.面向接口编程
重构技巧:
静态 --->> 动态
早绑定 --->> 晚绑定
继承 --->> 组合
编译时依赖 --->> 运行时依赖
紧耦合 --->> 松耦合
从封装变化角度对模式的分类:
组件协作:
*Template Method 模板方法
*Strategy 策略模式
*Observer/Event 观察者
单一职责:
*Decorator 装饰器
*Bridge 桥模式
对象创建:
*Factory Method 工厂方法
*Abstract Factory 抽象工厂
*Prototype
*Builder- 建造者模式
对象性能:
*Singleton 单例模式
*Flyweight 享元模式
接口隔离:
*Facade
*Proxy 代理模式
*Mediator - 中介者模式
*Adapter 适配器模式
状态变化:
*Memento -
*State 状态模式
数据结构:
*Composite 组合模式
*Iterator - 迭代器模式
*Chain of Resposibility - 职责链模式
行为变化:
*Command - 命令模式
*Visitor - 访问者模式
领域问题:
*Interpreter-