学习资料主要参考: 《Head First 设计模式》
复合模式
在形式上,复合模式是多个模式的组合,但满足了这一条并不一定是复合模式.
定义:将多个模式结合起来形成一个“框架”,以解决一般性问题。
MVC
MVC(Model-View-Control) 是一个经典的复合模式。
视图:用来呈现模型,视图通常直接从模型中取得它需要显示的状态和数据。
控制器:取得用户输入并解读其对模型的操作。
模型:模型持有所有的数据、状态和程序逻辑。
简要流程
- 用户和视图交互
- 控制器要求模型改变状态
- 控制器也可能要求视图做出改变
- 当模型状态改变时,模型会通知视图
- 视图向模型询问状态
涉及的模式
策略模式:视图是一个对象,可以使用不同的策略,而控制器提供策略。
观察者模式:当模型改变时,视图和控制器都会得到通知。
组合模式:视图是一堆小组件的组合。