理解程序结构

MVC --- MVP --- MVVM

对于这3种结构, 每个人都有不同的理解, 我想说说我的理解.

M是model(数据模型), V是View(界面UI), C是(controller控制器)

这些模型里, 永远有M, 说明M是不变的, 一直需要的. V也同理. 写程序的时候, 是什么样的, 写好View, 写好model, 创建Activity / UIViewController. 在里面创建view, 发起请求, 获得数据, 转换成model. 在将model的数据, 显示到view上.

但是如何将Model的数据, 显示的View上呢, 因此, 出现了各种模式.

MVC, 在C中做操作.

MVP, 在P中做操作.

MVVM, 在VM中做操作.

说明无论 C, P, VM是什么, 他们都是处理Model和View的. 就是处理的方式不同. 为了提高扩展性, 维护性. C,P,VM的目的就是为了复用各种不同的模块, 如果程序中, 很多View比较重复(或者说,更高效的使用View), 那么可以试试MVVM, 用VM. 

想复用Model(或者更高效的使用Model), 那么就可以试试MVP.

如果View样式多, Model也难以复用. 那么MVC也许比较合适.

无论用什么模式, 目的都是为了使程序更好的维护, 迭代. 

在移动开发(Android / iOS)中, V是View, M是Model, C是Activity / UIViewController. 不是说, 不用Activity / UIViewController 的不是MVC. 也不是说用了 Activity / UIViewController 就是MVC. MVVM里的VM模块, 肯定也是在 Activity / UIViewController 中进行初始化, 在把View和Model关联起来的.

在Activity / UIViewController 中直接把Model 传到 View中、把Model的数据取出来, 直接给View上的控件设置数值. 不同的操作方法, 导致了结构得分支.

View中直接接受Model. 那么View就依赖Model了, 同时也在Model中可以拿到所有想要的东西.

View只接受控件参数的设置. 比如View.setLabelText = model.text .那么view就不依赖Model, 数据哪里来的, View不关心.

Activity / UIViewController 中直接进行Model和View的数据组装, 那么代码会很多.不如 new / init 一个Class util, util.setView = View, util.setModel = Model. 在util中进行数据组装.

MV-X 就是使用了各种不同的封装模式, 将原本一个文件中编写的代码, 分散到了很多的文件中, 使他们的功能单一, 纯粹, 以将复杂的功能拆成简单的模块.

在用不同的方式进行重新组合.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,976评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,249评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,449评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,433评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,460评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,132评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,721评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,641评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,180评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,267评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,408评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,076评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,767评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,255评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,386评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,764评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,413评论 2 358

推荐阅读更多精彩内容