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

复合模式:

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

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

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

视图:

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

控制器:

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

模型:

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

要点:

  1. 模型-视图-控制器(MVC)是复合模式 ,结合了观察者,策略和组合模式
  2. 模型 使用观察者模式,以便可以保持观察者跟新,同时依然保持两者之间解耦。
  3. 控制器视图策略,视图可以使用不同的控制器实现,得到不同的行为。
  4. 视图 使用组合模式实现用户界面。用户界面通常组合了嵌套的组件,像面板,框架和按钮。
  5. 这些模式携手合作,解耦了MVC模型的三个层,这样可以保持设计干净又有弹性。
  6. 适配器模式用于把新的模型适配到已有的视图和控制器。
  7. MVC已经被适配到Web。
  8. 把MVC模式适配到各种客户/服务器的应用结构,就得到许多Web MVC框架。
相关推荐
GISer_Jing12 小时前
AI:多智能体协作与记忆管理
人工智能·设计模式·aigc
雨中飘荡的记忆14 小时前
责任链模式实战应用:从理论到生产实践
设计模式
沛沛老爹17 小时前
Web开发者进阶AI:Agent技能设计模式之迭代分析与上下文聚合实战
前端·人工智能·设计模式
Geoking.18 小时前
【设计模式】装饰者模式详解
设计模式·装饰器模式
vx-bot55566619 小时前
企业微信接口在自动化工作流中的关键角色与设计模式
设计模式·自动化·企业微信
Yu_Lijing20 小时前
基于C++的《Head First设计模式》笔记——工厂模式
c++·笔记·设计模式
HL_风神1 天前
设计原则之迪米特
c++·学习·设计模式
HL_风神1 天前
设计原则之合成复用
c++·学习·设计模式
Aeside12 天前
揭秘 Nginx 百万并发基石:Reactor 架构与 Epoll 底层原理
后端·设计模式
帅气的你2 天前
从零封装一个通用的 API 接口返回类:统一前后端交互格式
java·设计模式