什么是架构
- 软件开发中的设计方案
- 类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系
有哪些架构
- MVC、MVP、MVVM、VIPER、CDD
- 三层架构、四层架构
MVC
优点:Model、View可以重复利用
缺点:Controller的代码过于臃肿
MVC变种
优点:
- 对Controller瘦身
- 将View内部的细节封装起来,外界无需知道View内部的具体实现
缺点:
View依赖于Model
MVP
结构类似于MVC
MVVM
Model将作为View的一个属性
可以通过KVOController
监听ViewModel的属性变化,改变View
也可以用MVVM+RAC的组合实现监听
分层架构
界面层:比如列表界面
业务层:比如加载列表数据
数据层:比如网络请求数据、读取本地数据
界面层:比如列表界面
业务层:比如加载列表数据
网络层:比如网络请求数据、读取本地数据
数据层:比如将数据模型化