2017-01-02- iOS架构浅谈
架构基础 (iOS架构某种程度是为了解耦)
1. MVC
apple 建议开发者使用的一种开发模式,控制器可以直接修改V和M(从来控制器是中心),
2. MVP
P是指presenter (类似于新的控制器中心,但又不同),实际上多出的 P 用来处理之前某些控制器的逻辑(包含V和M)
//有些逻辑不再是控制器,而是p来处理
_customView.delegate = presentClass;
3. MVVM
V->VM<-M (双向绑定)
数据和UI绑定
,可以使用apple的KVO,或者成熟框架RAC,FBKVO.
主要处理逻辑VM handle ,从而控制器变得后期方便维护.
4.CDD (MVC变种)contenxt drive design
`不需要delegate`,也可以完成事件传递
适用于view层级深,比如复杂的聊天界面
每个subview 都可以获取contenxt 然后执行对应的事件
#总结,分三层(应用层 ,数据层,服务层)