Head First设计模式(十二) 设计原则 复合模式

复合模式:

模式通常被一起使用,并结合在同一个设计解决方案中。

复合模式在一个解决方案中结合两个或多个模式,以解决一般的或重复发生的问题。

模型-视图-控制器(MVC):

视图:

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

控制器:

取得用户输入并解读其对模型的含义。

模型:

模型持有所有数据,状态和应用逻辑。模型对视图和控制器是无视的,虽然它提供了操纵和检索其状态的接口,并发送状态改变通知给观察者。

要点:

  1. 模型-视图-控制器(MVC)是复合模式 ,结合了观察者,策略和组合模式。
  2. 模型 使用观察者模式,以便可以保持观察者跟新,同时依然保持两者之间解耦。
  3. 控制器 是视图 的策略,视图可以使用不同的控制器实现,得到不同的行为。
  4. 视图 使用组合模式实现用户界面。用户界面通常组合了嵌套的组件,像面板,框架和按钮。
  5. 这些模式携手合作,解耦了MVC模型的三个层,这样可以保持设计干净又有弹性。
  6. 适配器模式用于把新的模型适配到已有的视图和控制器。
  7. MVC已经被适配到Web。
  8. 把MVC模式适配到各种客户/服务器的应用结构,就得到许多Web MVC框架。
相关推荐
步行cgn11 小时前
适配器设计模式:一个“翻译官”的故事
设计模式
扶尔魔ocy15 小时前
【QT C++】常用设计模式
c++·设计模式
她说..16 小时前
常见设计模式-观察者模式
java·spring boot·spring·观察者模式·设计模式
是2的10次方啊17 小时前
设计模式与生活⑨:一碗胡辣汤,用不着认识十几种香料
设计模式
geovindu2 天前
rust: Semaphore Pattern
开发语言·后端·设计模式·rust·代理模式·企业级信号量模式·同步型模式
是2的10次方啊2 天前
设计模式与生活⑧:快递到了,别一直刷物流
设计模式
raindayinrain3 天前
c++设计模式
开发语言·c++·设计模式
工一木子3 天前
设计模式与生活⑦:你打的车,隔着一个平台
设计模式
电子科技圈3 天前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
电子科技圈3 天前
Arm电机控制开发工具哪家强?
arm开发·单片机·嵌入式硬件·设计模式·软件构建