真实世界中的模式

119 阅读1分钟

定义

  • 模式:是在某情境下,针对某问题的某种解决方案
  • 情境:应用某个模式的情况,是一种会不断出现的情况
  • 问题:想在该情况下达到的目标或者约束
  • 解决方案:一个通用的设计,来解决约束,达到目标

模式分类

按功能分

  • 创建型:单例,抽象工厂,工厂方法
  • 行为型:模板,迭代,命令,观察者,状态,策略
  • 结构型:装饰者,代理,组合,适配器

分类的作用

  • 帮助熟悉模式以及模式之间的关系
  • 不是唯一的分类方式
  • 为了方便记忆

用模式思考

  • 尽可能保持简单
  • 设计模式也会有后果
  • 知道何时需要使用模式
  • 重构的时候就是使用模式的时候
  • 去掉不需要的模式
  • 如果现在不需要,就别做

反模式

  • 定义:如何采用一个不好的解决方案解决一个问题
  • 作用:将反模式归档,可以在下次使用到时,分辨出不好的方案

Tips

  • 设计模式应该是自然而然地出现在合适的地方
  • 可以根据自己的需要进行适当的修改
  • 所遇到的大多数模式都是现有模式的变体,并非新的模式