真实世界中的模式
模式
模式是在某情景(context)下,针对某问题的某种解决方案。
- 情景就是应用某个模式的情况,这应该是会不断出现的情况。
- 问题就是你想在某情境下达到的目标,但也可以是某情境下的约束。
- 解决方案就是你所追求的:一个通用的设计,用来解决约束、达到目标。
模式
- 装饰者
- 状态
- 迭代器
- 外观
- 策略
- 代理
- 工厂方法
- 适配器
- 观察者
- 模板方法
- 组合
- 单件
- 抽象工厂
- 命令
模式分类
创建型 | 行为型 | 结构型 |
---|---|---|
涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。 | 涉及到类和对象如何交互及分配职责 | 结构型模式可以让你把类或对象组合到更大的结构中。 |
“应用模式”绝对不是你开始设计时所该有的目标,应该让模式在你的设计过程中自然而然地出现。
当你确信你的设计中有一个问题需要解决的时候,或者当你确信未来的需求可能会改变时,都可以采用模式。
反模式(警示作用)
告诉你如何采用一个不好的解决方案解决一个问题。
要点
- 让设计模式自然而然地出现在你的设计中,而不是为了使用而使用。
- 设计模式并非僵化的教条;你可以依据自己的需要采用或调整。或者创建自己模式_RUA模式?
- 总是使用满足需要的最简单解决方案,不管它用不用模式。