重新定义设计模式

模式是在某些情景下,针对某问题的一种解决方案。

  • 情景就是应用某个模式的情况。
  • 问题就是在某情景下达到的目标,但也可以是某些情景下的约束。
  • 解决方案就是你所追求的:一个通用的设计,来解决约束,达到目标。

eg:

  • 你拥有一个集合。
  • 你需要访问每一个对象,而不用关心该集合的实现。
  • 将迭代逻辑封装进分离的类中。

设计模式分类

  • 创建型 - 设计对象势力化,将实例化逻辑进行解耦。
  • 行为型 - 分配类和对象的交互和指责。
  • 结构型 - 把雷和对象通过组合和集成的方式,融合到更大的结构中。

如何设计一个设计模式

  • 保持简单
  • 设计模式不是万能的
  • 你需要什么时候去套用设计模式
  • 思考如何重构就是思考设计模式的时间
  • 不要害怕没法套用现有设计模式
  • 如果你不需要可以暂时不要过多的考虑

反模式

如何采用一个不好的解决方案解决一个问题。

  • 归纳总结反模式有机会让我们总结出好的模式