Ray-56 / Daily

每日
7 stars 1 forks source link

第十八题:解释一下什么是mvvm,mvc #18

Open GenXiaoLe opened 5 years ago

GenXiaoLe commented 5 years ago

从概念和区别方面解释

MMmaXingXing commented 5 years ago

MVC

概念

Model View Controller, 是模型-视图-控制器的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方式组织代码,将业务聚集在一个部件中,在改进个性化定制界面中以及用户交互的同时,不需要重新编写业务逻辑。

MVC发展起来被用于映射传统的输入、处理、输出功能在一个逻辑的图形化用户界面的结构中。

其中,控制器Controller 是应用程序中处理用户交互的部分,通常负责从视图读取数据,控制用户输入。

MVVM

概念

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

其中:由于VM的出现,很大程度上减轻了controller的体积,VM负责处理整理好的数据, controller直接管理VM 而不再对原始数据进行管理并处理。