设计模式

设计模式

MVC模式

MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式,是软件工程中的一种软件架构模式。

  • Model(模型) - 模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。

  • View(视图) - 视图代表模型包含的数据的可视化。

  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

MVC模式中的每个部分是分工明确、界定清晰的。操作数据的逻辑只存在于模型中,呈现数据的逻辑只存在于视图中,处理用户的请求和输入只存在于控制器中。

MVVM模式

MVVM是Model-View-ViewModel的简写,本质上是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。 ViewModel 可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。核心原理依然是数据驱动视图。

发布订阅模式 / 观察者模式

发布订阅模式: 消息的发送方,叫做发布者,消息的接收者叫做订阅者。发布者发布任何消息都将通知订阅者

观察者模式:观察者一直在监听状态的变化,任何状态发生改变观察者都会知道。

发布订阅模式与观察者模式非常类似,最大的区别是:发布订阅模式中,消息不会直接发送给特定的接收者。

因为发布者和订阅者都不知道对方的存在,需要一个信息中介,它把订阅者和发布者联系起来,由它来过滤和分配所有输入的消息。而在观察者模式中,观察者是知道消息的发布者的,也就不需要这个信息中介来进行通信,

观察者模式大多时候是同步的,而发布订阅模式大多时候是异步的。

原文地址:https://www.cnblogs.com/yaokai729/p/11354884.html