美文网首页
MVC 与 MVP 并无两样

MVC 与 MVP 并无两样

作者: 大侠咕咚 | 来源:发表于2019-12-01 10:43 被阅读0次

关于 MVC 的定义介绍,摘一段百度百科介绍:

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

简单也可以这样理解,View 单纯负责 UI,如果要更新 UI 数据,则去调用 Controller,让 Controller 去控制 UI ,Controller 不生产数据,数据层都在 Model 中,而 Controller 持有 Model 层引用,所以它会调用 Model 层然后接受到数据,接着分发给 UI,整个流程就类似于这样。

[图片上传失败...(image-bca9cb-1575167735700)]

实际上,这就是一种简单的分层机制,不同的层次做不同的事,让代码结构更清楚,各层职责也清楚,不用把所有逻辑写一块,导致代码臃肿,而且复用性也差。


在 16、17 年左右,Android 领域大家突然开始讨论 MVP,也有很多人讨论两者的区别,实际上,个人觉得 MVC 跟 MVP 几乎没啥差别,同样的思想只是换了一个名字而已,Controller VS Presenter,都是控制器的角色。

MVP 为什么在 Android 中被大家所讨论,最主要的原因还是由于 Activity 机制。每一个 Android 开发大都是从写 Activity 开始,一个界面对应一个 Activity,所以一开始业务简单的时候,大家会很容易的把所有的操作逻辑都写在 activity 里,这很正常,因为 Activity 就是这么一个机制,Google 就是这样设计的。

后来软件规模越来越大,Activity 中的代码越来越多,代码越来越难以维护,原来在 Activity 中堆代码的机制就受到了考验。实际上,如果正确利用 MVC 模式完全可以解决 Activity 臃肿问题,只不过后来同样用了分层模型去解决问题,但是给这个模型起了另外一个名字 — MVP。

实际上,MVC、MVP 不重要,重要的是去理解正确的软件开发理念。分而治之,各司其职永远都是软件开发的真谛。

链接

2019-04-19:请谈谈你对 MVC 和 MVP 的理解? · Issue #33 · Moosphan/Android-Daily-Interview

相关文章

  • MVC 与 MVP 并无两样

    关于 MVC 的定义介绍,摘一段百度百科介绍: MVC 是一种使用 MVC(Model View Controll...

  • iOS:常见架构

    常见的架构有 MVC、MVP 和 MVVM。下面分别用代码做下演示。 MVC MVP MVP与MVC的区别在于:M...

  • 架构思维系列之MVP架构

    MVP架构 什么是MVP MVP是MVC的变种,其中Model和View的定义与MVC的一致,不同点在于:MVC的...

  • Android MVP实践

    MVP模式从经典的MVC模式而来,M: Model, V:View, P:Presenter。MVP与MVC有着一...

  • 像小白一样学习MVP

    MVP与MVC MVP是从MVC的延伸。为什么要会出现MVP模式:那我们得了解一下MVC模式到底是一个怎样的模式:...

  • 浅谈UI分离之MVPS架构模型

    1.MVC与MVP架构模型 1.MVC MVC全称是Model View Controller: Model(模型...

  • MVP框架学习

    一、MVP介绍 二、为什么使用MVP模式 三、MVP与MVC的异同 四、使用MVP实现Android的登录的Dem...

  • 使用MVP+Retrofit+RxJava+Dagger搭建项目

    一、什么是MVP模式? MVP是MVC的变种,也是一种升级。要说MVP就要说说MVC,在MVC中Activity其...

  • iOS-面试题6-架构

    目录: MVC-Apple MVC-变种 MVP MVVM 分层设计 架构与设计模式的区别 一. MVC-Appl...

  • MVC、MVP、MVVM

    MVC和MVP,MVVM之间的关系 MVC和MVP的关系 我们都知道MVP是从经典的模式MVC演变而来,它们的基本...

网友评论

      本文标题:MVC 与 MVP 并无两样

      本文链接:https://www.haomeiwen.com/subject/sgkzwctx.html