关于框架的一些学习笔记

服务端N层架构体系中

MVC   今天才知道原来传统的MVC中V是可以直接与M交互,M也做了些弱业务处理

MVP  所以至今为止公司用的都是MVP,就是M和V是完全分离的,少了P就相当于两个孤岛,MV交互必须通过P

在服务端N层架构体系中,MVC,MVP等架构思想仅是运用在表示层,而移动端的是应用在整个项目

 

移动端架构

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

胖Model要处理弱业务,数据转换等。

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

MVCS  是一种基于瘦model的解决方案,把原本对Model数据存取的这块抽象出来形成store层,尽量减小model层的粒度。

MVVM  实际上是M-VM-C-V VM是从M(胖model)中分出来的,负责数据的加工,加工成view能直接展示的数据,c仅仅是负责配置viewModel和view (所以看上去好像view和model直接交互)

用户的操作产生的数据(输入的文本,选择的行indexPath)要从view传到viewModel,viewModel原是属于model层的,View并不适合直接持有ViewModel,所以要靠ReactiveCocoa传数据过去

不管MVVM也好,MVCS也好,他们的共识都是Controller会随着软件的成长,变很大很难维护很难测试

posted @ 2016-02-02 11:50  时噬者  阅读(300)  评论(3编辑  收藏  举报