mvc,mvvm架构

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

猜你喜欢

转载自blog.csdn.net/weixin_44221744/article/details/112461690