Walt You - 行是知之始

《HeadFirst设计模式》学习日志(十二):复合模式

2019-03-06


学习资料主要参考: 《Head First 设计模式》



复合模式

在形式上,复合模式是多个模式的组合,但满足了这一条并不一定是复合模式.

定义:将多个模式结合起来形成一个“框架”,以解决一般性问题。

MVC

MVC(Model-View-Control) 是一个经典的复合模式。

视图:用来呈现模型,视图通常直接从模型中取得它需要显示的状态和数据。

控制器:取得用户输入并解读其对模型的操作。

模型:模型持有所有的数据、状态和程序逻辑。

简要流程

  • 用户和视图交互
  • 控制器要求模型改变状态
  • 控制器也可能要求视图做出改变
  • 当模型状态改变时,模型会通知视图
  • 视图向模型询问状态

涉及的模式

策略模式:视图是一个对象,可以使用不同的策略,而控制器提供策略。

观察者模式:当模型改变时,视图和控制器都会得到通知。

组合模式:视图是一堆小组件的组合。


Content