设计模式的学习顺序

 设计模式的学习顺序可以按照以下步骤进行:

  1. 掌握基础知识:先确保你对编程语言和软件开发的基本概念有深入的理解,包括面向对象编程、继承、多态等。
  2. 学习常用设计模式:首先学习并理解一些常用的设计模式,例如单例模式、工厂模式、观察者模式等。这些模式在软件开发中非常常见,掌握它们对你的工作非常有帮助。
  3. 深入理解设计模式:在掌握常用设计模式的基础上,逐渐深入学习更复杂的设计模式,例如建造者模式、原型模式、策略模式等。这些模式通常需要更多的知识和经验才能理解和应用。
  4. 学习设计模式的基础设施:了解设计模式的基础设施,包括模式分类、模式元素、模式结构等,这将帮助你更好地理解和应用设计模式。
  5. 实践和总结:尝试在实际开发中使用你学到的设计模式,并注意观察它们的表现。通过实践,你可以更好地理解设计模式的适用场景和效果,同时也可以发现自己的不足之处并进行改进。
  6. 参与社区和活动:参与设计模式相关的社区活动和研讨会,与其他开发者交流和分享经验,这将帮助你不断扩展自己的知识和技能。
  7. 持续学习和更新知识:设计模式是一个不断发展的领域,新的模式和现有模式的变体不断涌现。因此,持续学习和更新知识是保持竞争力的重要方面。

总之,设计模式的学习需要不断的实践和探索,只有通过不断地学习和实践,才能真正掌握这一重要的技能。

学习顺序 设计模式 常用程度 适用层次 引入时机 结构复杂度 变化 实现 体现的原则
1 工厂-Factory Method 很常用 代码级 编码时 简单 子类的实例化 对象的创建工作延迟到子类 开闭原则
2 单例-Singleton 很常用 代码级、应用级 设计时、编码时 简单 唯一实例 封装对象产生的个数
3 外观-Facade 很常用 应用级、构架级 设计时、编码时 简单 子系统的高层接口 封装子系统 开闭原则
4 模板-Template Method 很常用 代码级 编码时、重构时 简单 算法子步骤的变化 封装算法结构 依赖倒置原则
5 抽象工厂-Abstract Factory 比较常用 应用级 设计时 比较复杂 产品家族的扩展 封装产品族系列内容的创建 开闭原则
6 组合-Composite 比较常用 代码级 编码时、重构时 比较复杂 复杂对象接口的统一 统一复杂对象的接口 里氏代换原则
7 代理-Proxy 比较常用 应用级、构架级 设计时、编码时 简单 对象访问的变化 封装对象的访问过程 里氏代换原则
8 命令-Command 比较常用 应用级 设计时、编码时 比较简单 请求的变化 封装行为对对象 开闭原则
9 观察者-Observer 比较常用 应用级、构架级 设计时、编码时 比较简单 通讯对象的变化 封装对象通知 开闭原则
10 策略-Strategy 比较常用 应用级 设计时 一般 算法的变化 封装算法 里氏代换原则
11 建造者-Builder 一般 代码级 编码时 一般 对象组建的变化 封装对象的组建过程 开闭原则
12 适配器-Adapter 一般 代码级 重构时 一般 对象接口的变化 接口的转换
13 桥接-Bridge 一般 代码级 设计时、编码时 一般 对象的多维度变化 分离接口以及实现 开闭原则
14 装饰器-Decorator 一般 代码级 重构时 比较复杂 对象的组合职责 在稳定接口上扩展 开闭原则
15 迭代器-Iterator 一般 代码级、应用级 编码时、重构时 比较简单 对象内部集合的变化 封装对象内部集合的使用 单一职责原则
16 中介者-Mediator 一般 应用级、构架级 编码时、重构时 一般 对象交互的变化 封装对象间的交互 开闭原则
17 备忘录-Memento 一般 代码级 编码时 比较简单 状态的辅助保存 封装对象状态的变化 接口隔离原则
18 状态-State 一般 应用级 设计时、编码时 一般 对象状态的变化 封装与状态相关的行为 单一职责原则
19 访问者-Visitor 一般 应用级 设计时 比较复杂 对象操作变化 封装对象操作变化 开闭原则
20 原型-Prototype 不太常用 应用级 编码时、重构时 比较简单 实例化的类 封装对原型的拷贝 依赖倒置原则
21 享元-Flyweight 不太常用 代码级、应用级 设计时 一般 系统开销的优化 封装对象的获取
22 责任链-Chain of Responsibility 不太常用 应用级、构架级 设计时、编码时 比较复杂 对象的请求过程 封装对象的责任范围
23 解释器-Interpreter 不太常用 应用级 设计时 比较复杂 领域问题的变化 封装特定领域的变化

《完结》 

你可能感兴趣的:(JAVA,读书笔记,设计模式,设计模式分类)