mvc,mvvm架构

本文介绍了MVC和MVVM架构模式,它们都是为了解耦界面和业务逻辑。MVC将系统拆分为控制器、视图和模型,MVVM则拆分为视图、模型、视图模型和绑定器。两种模式都提高了系统的可扩展性、可维护性等属性,并分别给出了SpringMVC和Vue的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mvc,mvvm架构

  1. mvc,mvvm是什么

    都是一种架构模式

  2. mvc,mvvm作用

    都是为了解耦「界面」和「业务逻辑」,只是解决方案不同!

  3. mvc

    MVC将系统拆分为控制器、视图和模型来解决上面的问题:
    控制器(Controller)- 负责转发请求,对请求进行处理。
    视图(View) - 界面设计人员进行图形界面设计。
    模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库 设计(可以实现具体的功能)。

/** 模拟 Model, View, Controller */
var M = {}, V = {}, C = {};
/** Model 负责存放数据 */
M.data = "hello world";
/** View 负责将资料展示出来 */
V.render = (M) => { alert(M.data); }
/** Controller 作为M和V的桥梁 */
C.handleOnload = () => { V.render(M); }
/** 在页面加载的时候调用
Controller*/window.onload = C.handleOnload;

这样的拆分,提高了系统的:

  • 可扩展性
    View、Model和Controller分别负责视图、数据和控制,可独立进化。能较方便的增加新功能。
  • 可维护性
    结构清晰,多个View可以复用一个Model,减少了代码重复
  • 可测试性
    每个组件的职责单一,可以对Model进行自动化测试
  • 灵活性
    Controller 可以用来连接不同的 Model 和 View 去完成用户的需求
  • 可配置性
    给定一些可重用的 Model 、 View 和Controller 可以根据用户的需求选择适当的 Model 进行处理,然后选择适当的的 View 来处理结果显示给用户。

4.mvvm
MVVM模式将系统拆分为视图、模型和视图模型以及绑定器来解决耦合问题:
Model:Model是指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据 为中心)。和MVC中的Model指代的内容相似。
View:就像在MVC中一样,View是用户在屏幕上看到的结构、布局和外观(UI)。
ViewModel:ViewModel是暴露公共属性和命令的视图的抽象。
Binder:绑定器是MVVM模式里的一个隐含组件,ViewModel中声明了数据与View之间的绑定关系,而绑定器来处理声明的绑定关系。

与MVC模式一样,提高了相同的系统属性,只是方式有一些差异:

  • 可扩展性
    View、Model和ViewModel(和Binder)分别负责视图、数据和数据视图绑定,可独立进化
  • 可维护性
    结构清晰,多个View可以复用一个Model,减少了代码重复
  • 可测试性
    每个组件的职责单一,可以对Model进行自动化测试。前台也可以对ViewModel进行自动化测试。
  • 灵活性
    ViewModel 可以用来绑定不同的 Model 和 View 去完成用户的需求
  • 可配置性
    给定一些可重用的 Model 、 View可以根据用户的需求选择适当的 Model 进行处理,然后选择适当的的 View 来处理结果显示给用户

6.MVC实例SpringMVC

7.MVVM实例Vue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值