主要目标
管理变化,提供复用!
两个手段
- 分解
把具体的功能先拆分。 - 抽象
把公共的部分提取出来形成抽象的部分,统一处理。
九大原则
- 依赖倒置(DIP)
- 开闭原则(OCP)
- 单一职责(SRP)
- 里氏替换(LSP)
- 接口隔离(ISP)
- 组合复用
- 迪米特法则
- 封装变化点
- 面向接口编程
重构技法
- 静态 -> 动态
- 早绑定 -> 晚绑定
- 继承 -> 组合
- 编译时依赖 -> 运行时依赖
- 紧耦合 -> 松耦合
封装变化角度对模式分类
- 组件协作
- Template Method
- Strategy
- Observer/Event
- 单一职责
- Decorator
- Bridge
- 对象创建
- Factory Method
- Abstract Factory
- Prototype
- Builder
- 对象性能
- Singleton
- Flyweight
- 接口隔离
- Facade
- Proxy
- Mediator
- Adapter
- 状态变化
- State
- Memento
- 数据结构
- Composite
- Chain of Responsibility
- Iterator
- 行为变化
- Command
- Visitor
- 领域问题
- Interpreter
对比所有模式类图
发现核心就是多态,通过接口、抽象类达到运行时绑定。
经验之谈
- 不要为了模式而模式
- 关注抽象类&接口
- 理清变化点和稳定点
- 审视依赖关系
- 要有Framework和Application的区隔思维
- 良好的设计是演化的结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100395.html