MVC、MVCS、MVVM

MVC(Model,View,Controller)

Controller:数据加工



View:数据展示


Model:数据储存


Controller:数据加工以及数据流调配


2016年07月30日10:13:06

MVC的整体划分(注:View Container---视图容器,是指ViewController自带View)

iOS端MVC整体划分

M:

1.给ViewController提供数据

2.给ViewController存储数据提供接口

3.提供经过抽象的业务基本组件,共Controller调度

C:

1.管理View Container生命周期

2.负责生成所有的View实例,并添加到View Container中

3.监听来自View与业务有关的事件,通过与Model的合作,来完成相应事件

V:

1.响应与业务无关的事件,并因此引发动画效果,点击反馈等;

2.界面元素表达


MVCS(Model,View,Controller,Store)

1. 基于MVC衍生出来的一套架构方案,从概念上来说,它拆分的部分是Model部分,拆出来一Store,用来专门负责数据存取。但从实际操作的角度来讲,它拆开的是Controller。

2. 这算是瘦Model的一种方案,瘦Model只是专门用于表达数据,然后存储、数据处理都交给外面的来做。

3. MVCS使用的前提:假设你是瘦Model,同时数据的存储和处理都在Controller去做。

4. 所以对应到MVCS,它在一开始拆分的是Controller,因为Controller做了数据存储的事情,就会变得非常庞大,那么就把数据存储的部分抽离出来,交给Store去做。

什么叫胖Model,瘦Model?

1. 胖Model:包含了部分弱业务逻辑,即Controller从胖Model这里拿到数据之后,不要额外做操作或者只要做非常少的操作,就能将数据直接应用在View上。

2. 瘦Model:只负责业务数据的表达,所有业务无论强弱一律交给Controller。即尽一切可能去编写细粒度Model,然后配套各种helper类或方法来对弱业务做抽象,强业务依旧交给Controller。


MVVM(Model,View,ViewModel)

1. 从MVC中派生而来,着重向解决的问题是尽可能地减少Controller的任务。

2. MVVM、MVCS共识都是Controller会随着软件的成长,变很大很难维护很难测试。

3. MVVM认为Controller做了太多数据加工的事情,所以把数据加工的任务从Controller中抽离,使得Controller专注于数据调配,ViewModel来负责数据加工并通过通知机制让View响应ViewModel的改变。

4. MVVM是基于胖Model的架构思路建立的,然后在胖Model中拆分出Model和ViewModel。


参考:iOS应用架构谈 

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

推荐阅读更多精彩内容