• MVC、MVP、MVVM 模式对比


      MVC、MVP和MVVM这些开发模式为了分离视图(View)和模型(Model)而提出来的,直白说就是为了前后端分离。

      1. MVC(Model View Controller)模式

      MVC是比较直观的架构模式,即用户操作 → View(负责接收用户的输入操作)→ Controller(业务逻辑处理)→  Model(数据持久化)→ View(奖结果反馈给View)。

      MVC使用非常广泛,比如JavaEE中的SSH框架(Struts+Spring+Hibernate)、.NET中的ASP.NET MVC框架。

      2. MVP(Model View Presenter)模式

      MVP是把MVC中的 Controller 换成了 Presenter,目的是为了完全切断 View 跟 Model 之间的联系,由 Presenter 充当桥梁,做到 View-Model 之间通信的完全隔离。

      ASP.NET中的 Web Froms 技术即支持MVP模式,因为事件驱动的开发技术使用的就是MVP模式。  控件组成额页面充当 View,实体数据库操作充当 Model,而 View 和 Model 之间的控件数据绑定操作则属于 Presenter。控件事件的处理可以通过自定义的 iView 接口实现,而 View 和 iView 都将对 Presenter 负责。

      3. MVVM(Model View ViewModel)模式

      如果说MVP是对MVC的改进,那么MVVM则是完全的变革。MVVM是将“数据模型、数据双向绑定”的思想作为核心,因此 View 和 Model 之间没有联系,而是通过 ViewModel 进行交互,而且 Model 和 ViewModel 之间的交互式双向的,所以视图数据的变化会同时修改数据源,而数据源数据的变化也会反应到 View 上。

      MVVM模式优点有以下几点:

    • 视图层低耦合
    • 各种代码写成控件后可重用
    • 前后端分离明显
    • 便于测试和部署

      本文参考了 张帆 老师对几种开发模式的见解(张帆,资深全栈开发工程师,有多年的项目设计和Web开发经验。)

  • 相关阅读:
    LInux 解压缩文件
    关于启明星系统移除apppath配置,让系统自动获取路径来设置cookie的解决方法
    Repository 设计模式介绍
    启明星桌面天气系统和抽奖系统源代码
    关于web.config增加禁止匿名访问而导致pdf失效的问题
    C#取硬盘、CPU、主板、网卡的序号 ManagementObjectSearcher (WMI)
    如何在windows2008/2012上安装启明星系统。
    连接MSSQL2008 Express
    启明星系统加密方法代码
    MSSQL2008 全文索引的创建
  • 原文地址:https://www.cnblogs.com/tangyuze/p/10505336.html
Copyright © 2020-2023  润新知