MVC模式

发布时间:2021-10-05 00:35:35 阅读:(135)

    mvc将程序地各个模块进行分层,M(model)负责数据的存储,V(view)负责数据的显示,C(controller)负责与用户的交互逻辑,也就是业务逻辑

    与中介模式的联系

    中介模式通过一个中介对象来封装一系列的对象交互,使多个对象之间不需要显式地相互引用,从而使其耦合松散。MVC模式可以理解成对中介模式的一种延伸,可以将中介模式提升到一个更高的系统架构层次。MVC中的“C”(Controller)就充当着中介的角色,负责把“M”(Model)和“V”(View)隔离开,协调M和V的协同工作。

    与外观模式的联系

    外观模式的核心思想是:用一个简单的接口来封装一个复杂的系统,使这个系统更容易使用,也就是对软件进行分层,不同的层实现不同的功能。

    而 MVC 模式将这一思想应用到了极致,它将软件拆分成视图层、模型层和控制层。这种拆分方式被广泛应用于现今的很多软件,特别是Web网站。

    MVP

    MVP是MVC的一个变种,很多框架都自称遵循MVC模式,但是实际上它们却实现的是MVP模式;在MVP中使用Presenter对视图和模型进行解耦,视图和模型独立发展,互不干扰,沟通都通过Presenter进行。

    MVVM

    MVVM(Model-View-ViewModel)最早由微软提出,ViewModel指“Model of View”,即“视图的模型”,它将View的状态和行为抽象化,让我们可以将UI和业务逻辑分开。

    在MVP中,Presenter负责协调和控制Model与View的工作,保证Model和View的数据实时同步和更新,但这个操作需要程序员写代码手动控制。而MVVM中ViewModel把View和Model的同步逻辑自动化了,以前Presenter负责的View和Model同步不再需要手动地进行操作,而是交给框架所提供的数据绑定功能来负责,只需要告诉它View显示的数据对应的是Model的哪一部分即可。

    双向数据绑定可以简单地理解为一个模板引擎,当视图改变时更新模型,当模型改变时更新视图

    设计要点

    角色:不懂得话就很危险了,建议今天的饭别吃了,好好反省

    优缺点

    优点:

    • 低耦合行,MVC模式将试图和模型分离,可以独立发展
    • 高重用性和可适用性
    • 快速开发,快速部署
    • 方便团队合作

    缺点:
    增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC 会使模型、视图与控制器分离,增加很多代码。