重新定义设计模式
模式是在某些情景下,针对某问题的一种解决方案。
- 情景就是应用某个模式的情况。
- 问题就是在某情景下达到的目标,但也可以是某些情景下的约束。
- 解决方案就是你所追求的:一个通用的设计,来解决约束,达到目标。
eg:
- 你拥有一个集合。
- 你需要访问每一个对象,而不用关心该集合的实现。
- 将迭代逻辑封装进分离的类中。
设计模式分类
- 创建型 - 设计对象势力化,将实例化逻辑进行解耦。
- 行为型 - 分配类和对象的交互和指责。
- 结构型 - 把雷和对象通过组合和集成的方式,融合到更大的结构中。
如何设计一个设计模式
- 保持简单
- 设计模式不是万能的
- 你需要什么时候去套用设计模式
- 思考如何重构就是思考设计模式的时间
- 不要害怕没法套用现有设计模式
- 如果你不需要可以暂时不要过多的考虑
反模式
如何采用一个不好的解决方案解决一个问题。
- 归纳总结反模式有机会让我们总结出好的模式