0%

浅谈对MVC与MVVM的理解

开发中我们常听说MVC, MVP, MVVM这些好像很高端的名词, 那么你了解他实际上是什么东西吗? 下面谈谈对它们的理解.

1. MVC

其实上面所提的三者都是一种软件架构模式(或者说是一种概念), 其中MVC的历史最为长远.

MVC模式可以分成以下三种, 就是模型(module), 界面(View), 控制器(controller). 三者之间的关系.

MVC的好处在于

  1. 视图控制模型分离降低耦合性
  2. 提高代码重用性和可维护性
  3. 因为是单向模块化, 不同层各施其职,互不干涉

有优点再说说缺点:

  1. 清晰的构架以代码的复杂性为代价, 对小项目优可能反而降低开发效率.
  2. Controller层代码难以复用的, 到后面会变得臃肿.
  3. 运行效率相对较低, 太过于复杂反而不太适合中小型项目

MVVM

MVVM(Module-View-ViewModule)的出现主要是为了解决在开发过程中Controller越来越庞大的问题, 它将Controller替换成了ViewModule, 同时改变了通讯模式, 这是MVVM相对于MVC改进的核心思想.

其中MVVM的显著特点就是双向绑定. view的变动会自动更新到Model中. 其中当下很流行的Vue框架就是采用了这个模式. 下图的就能很清晰的看的懂ViewModel是如何做的.

「请笔者喝杯奶茶鼓励一下」

欢迎关注我的其它发布渠道