第29期 | 设计模式专栏

关于设计模式,对于每个码农或架构师而言,都是再熟悉不过一个知识点。也都能说出那么几个常用的模式,但你要细问会发现,有些人对这些模式的概念理解、应用场景还是模糊不清的,即使是那些常用的设计模式。

关于设计模式,在网上你一搜肯定能搜到一堆相关的信息, 但有些文章要么太过抽象, 要么与实际应用场景不相符,在认识上总是不太好理解。

虽然工作七八年了,但由于自己过去一直对知识总结这块有所欠缺,对于看过的东西仅限于当时看明白了,而缺少对它在工作中的实际思考与应用。看似明白实则根本没有搞懂,就如同在学校老师问同学们是否听懂所讲的内容,让听懂的学生给大家讲一遍,但发现自己并不那么明白。所以希望写个专栏让自己加深对模式的概念理解,并在实际的应用环境下不断反馈,最后灵活运用。

要搞清楚一件事情,在我认为可能需要这几步

  1. 明确的概念定义
  2. 关联经验, 加强知识点连接, 防止信息孤岛
  3. 强调实践, 总结思考知识点在未来的场景应用, 聚焦于解决实际

总结: 自我导向 | 关联经验 | 强调实践 | 聚焦于解决实际问题 | 内在驱动

学习目标

  1. 对每种模式要有清晰的概念认识
  2. 明白能解决什么问题, 与之带来的好处或坏处各有哪些
  3. 可举一反三, 在生活或工作中找出与之相应的适用场景


接下来,我们分三大部分分篇介绍:

一、Creational Patterns

通常用于: 构建并解耦整个服务架构所需的一些系统组件, 或者可以理解为系统架构层次中的基础设施。就好比: 如何提供建造一座桥梁所需的桥体、钢铁、桥墩等结构组件。

  1. Learn The Singleton Pattern
  2. Learn The Factory Method Pattern
  3. Learn The Abstract Factory Pattern
  4. Learn The Builder Pattern
    5. Learn The Prototype Pattern

二、Structural Patterns

通常用于: 将一些零散的组件进行结构整合. 比如: 如何将桥梁的各个组件进行整合以达到桥梁的正常使用。

  1. Learn The Adapter Pattern
  2. Learn The Bridge Pattern
  3. Learn The Composite Pattern
  4. Learn The Decorator Pattern
  5. Learn The Facade Pattern
  6. Learn The Flyweight Pattern
  7. Learn The Proxy Pattern

三、Behavioral Patterns

通常用于: 处理与维护服务间的依赖关系,保证两个或多个间的服务正常合理的运行。比如: 经过此桥梁的汽车限高多少、限重多少等

  1. Learn The Chain of Responsibility Pattern
  2. Learn The Command Pattern
  3. Learn The Interpreter Pattern
  4. Learn The Iterator Pattern
  5. Learn The Mediator Pattern
  6. Learn The Memento Pattern
  7. Learn The Observer Pattern
  8. Learn The State Pattern
  9. Learn The Strategy Pattern
  10. Learn The Template Method Pattern
  11. Learn The Visitor Pattern
    其他模式待补充

通过下图,可以很好的理解创建模式、结构模式与行为模式间的关联关系呢


参考资料:

  1. https://dzone.com/refcardz/design-patterns
多谢各位捧场!~