对MVC、MVP、MVVM的理解(一)

一、MVC

MVC模式再网上的争议是最大的,一些博客中是这样描述的

MVC模式的通信是单向的,View触发事件或数据的提交,到了Controller进行处理逻辑之后,返回Model给View,View再从Model中取出数据,当然View中也会有相应的逻辑。个人认为这样的描述算是比较正确,让我们来看看ASP.NET Core MVC项目中是如何处理的,在默认模板中的错误界面是这样的

它的数据来自于Model,并且在Razor界面中做了部分的逻辑处理。那么Model是从哪里来的呢?

在HomeController中有一个Error方法,它返回的便是一个View,这个View中带着一个Model。由此看来在微软定义的MVC中View确实是依赖于Model的

那么就有人说,这个Model不是Controller返回的吗,那View和Model并没有直接通信呀,MVC就是为了View和Model分离开。

1.当然我不否认这种说法,但我更偏向于前者。可以看出来Controller返回的是整个Model,并不是将Model拆分开来依次解析后返回给View,所以我觉得既然Model的数据逻辑是在View界面自己处理的,那为什么非要不承认他们之间有直接的依赖关系呢?

2.也可以理解一下第二种说法,第二种说法观点在于V-C-M-C-V这种走向,这种说法表示View中的Model是由Controller返回的,那么View和Model之间并没有直接联系。我认为这样的话MVC模式更偏向于MVP模式了,那么MVP唯一的进步就是,彻底简化了View层,将View对Model的处理逻辑全部移动到Controller(Presenter),由Presenter给View中的控件赋值。如下图:

3.从整体一个项目来看,MVC模式更加偏向于一个后端或者是整个项目的分层结构,而MVP和MVVM则是借鉴了MVC的分层,将前端的部分进行分层
模式架构是用来设计代码的,duck不必纠结于某两者之间具体的关系,如果能够使你的代码层次更加分明,清晰明了,那不就够了?如果都按照前人定好的模式去做又何来创新呢?

(0)

相关推荐

  • 软件架构编年史:MVC及其变种

    原创 覃宇 逸言 5天前 覃宇,Android开发者/ThoughtWorks技术教练//译者,热衷于探究软件开发的方方面面,从端到云,从工具到实践.喜欢通过翻译来学习和分享知识,译作有<Kot ...

  • 浅谈MVC、MVP、MVVM架构模式的区别和联系

    MVC.MVP.MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用. 一.MVC(Model-View-Controller) MVC是比较直观的架构模式 ...

  • C#框架结构分层:三层结构,DDD,MVC,MVVM,MVP

    本文主题,讲解主要有哪些分层思想. 一.三层结构 作为早期程序开发的经典,这是一个完全由程序员自己控制的分层思想. 在我们自己所有的项目中,几乎是无处不在,无时无刻不在使用. 它的主要思想是分界面层( ...

  • 前端面试 vue 部分 (1)——谈谈你对 MVVM 的理解

    [答案] MVVM 由 Model.View.ViewModel 三部分构成 Model 代表数据模型,也可以在 Model 中定义数据修改和业务逻辑: View 代表 UI 组件,它负责将数据模型转 ...

  • MVC,MVP 和 MVVM 的图示

    复杂的软件必须有清晰合理的架构,否则无法开发和维护. MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP ...

  • MVP方法与实践:如何理解企业战略?

    企业即组织,组织建立在组织认同上,组织认同体现在组织愿景.使命.价值观.因此,制定企业战略首先要定义组织愿景.使命及核心价值观.它们是企业的"魂",不仅定义了组织期望实现的目标,还 ...

  • 全国人大常委会关于《中华人民共和国刑法》第九章渎职罪主体适用问题的解释(附:理解与适用)

    ☞[招募律师站长]☜ 全国人民代表大会常务委员会关于<中华人民共和国刑法>第九章渎职罪主体适用问题的解释 (2002年12月28日通过) 全国人大常委会根据司法实践中遇到的情况,讨论了刑法 ...

  • 体谅与理解

    人生的路上,如果懂得体谅,懂得理解,懂得宽容,日子就会很温馨,也会很安宁. 人生的路上,如果缺少体谅,不能理解,没有谦让,日子就会很糟糕,越过越烦恼. 生活中的很多烦恼,就是源于我们不能够体谅,过分在 ...

  • 色盲患者看到的世界永远黑白的,他们是无法理解世界的真实色彩的

    哲学那点事(五)--我能认知什么?色盲患者看到的世界永远黑白的,他们是无法理解世界的真实色彩的色盲是由于视网膜视锥细胞中的光敏色素异常或不全所导致的色觉紊乱,从而缺乏辨别一种或多种颜色的能力.色盲又分 ...

  • 特级教师:初中阅读理解33个答题公式 60篇训练题,挑战1分不扣

    语文考试中,同学们普遍认为最难的不是作文,而是阅读理解.初中语文阅读理解篇幅大,内容深奥.要么不知道怎么作答,要么答了很多,却不在踩分点上,自我感觉良好,但得分却少得可怜. 而且在考试中,因为阅读理解 ...