美文网首页
关于mvc、mvp、mvvm这些模式的个人理解

关于mvc、mvp、mvvm这些模式的个人理解

作者: NSNil | 来源:发表于2017-06-22 11:26 被阅读0次

分析一下三种模式

很多人纠结于用以上哪个模式来开发会更好,其实我认为结合起来使用最佳。

软件工程的思想强调:高内聚、低耦合,这几个模式都是为了实现这个目标而产生的。

mvc会导致model、view、controller耦合在一起,互相分不开,适用于简单、不需要重用的界面,将mvc三者耦合在一起,实际上就是高内聚,不过主要业务还是在controller里实现,所以controller代码量相对较大。

mvp可以将model、view分离出去,适用于重用页面和model的场景,将controller作为presenter来使用model和view,view和model就得到了解放,所有人都可以分享使用它们了,然而代价也是存在的,controller把mvc写在model和view里的代码转移到了自己这里,代码量变的非常庞大。

mvvm的话view和model绑定,非常科学的方式,将界面变动跟model数据改变绑定在一起,减轻了controller的负担。

我的做法

简单的页面我依旧会使用mvc这种清晰并且简单的方式来开发。

有很多界面类似,数据结构天差地别的界面,使用mvp会最好的情况,我会将view做成轮子,方便使用。将model抽象化,操作model的功能抽象成方法写在model的类中。将controller中数据部分抽象分离一个DataSource类。这都是为了减轻controller的负担,也能减少mvc之间的耦合。

至于mvvm,其实适用于各种场景,不过比较依赖于第三方框架来实现,iOS的系统自带的KVO其实是一种实现方式,我也有用到,但是我更倾向于使用Notification,可以降低mv之间耦合,更加轻量,更加灵活。

总结

一个项目,是庞大的,设计模式是为了开发而设计出来的,没有必要一个工程只用一个模式,视情况而定,低耦合是核心。

相关文章

  • 关于mvc、mvp、mvvm这些模式的个人理解

    分析一下三种模式 很多人纠结于用以上哪个模式来开发会更好,其实我认为结合起来使用最佳。 软件工程的思想强调:高内聚...

  • angular

    关于angular中 MVC / MVVM / MVP的理解 MVC 全称全称Model(模型)-View(视图...

  • iOS 设计模式 一

    设计模式随记 系统架构模式 1. MVC - MVVM - MVP - MVVM、MVC协调版 MVC :...

  • 从0开始搭建MVP+ViewModel框架的android应用0

    对比MVC/MVP/MVVM MVC:经典的模式,model,view,controller,比较好理解,但是有些...

  • 第三天

    1、对MVC、MVVM、MVP的理解? MVC (1)MVC:是后台的框架模式分为M:(model模型)、V...

  • iOS-19 MVC和MVVM

    1 iOS MVC、MVVM、MVP详解 - 简书 2 浅谈 MVC、MVP 和 MVVM 架构模式 - Coco...

  • MVC - MVVM 是什么

    MVC - MVVM 是什么 谈谈MVC模式 - 阮一峰 MVC,MVP 和 MVVM 的图示 - 阮一峰 MVC...

  • MVC、MVP、MVVM模式

    MVC、MVP、MVVM模式 MVC(Model、View、Controller) MVC是比较直观的架构模式,最...

  • vue的生命周期

    Vue 对 MVC、MVP 、MVVM 的理解 MVC 模式的意思是,软件可以分成三个部分。 视图(View):用...

  • iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER

    iOS 架构模式--解密 MVC,MVP,MVVM以及VIPER架构 iOS 架构模式--解密 MVC,MVP,M...

网友评论

      本文标题:关于mvc、mvp、mvvm这些模式的个人理解

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