一、MVVM的定义
M:模型,负责数据的存储
V:View和ViewController
VC:viewModel,专门负责数据请求、业务逻辑等业务。
二、MVVMDemo
项目地址:https://github.com/coderyi/MVVMDemo
Model: 数据的模型
View: 其实包括View和ViewController两部分,统称为View
ViewModel: 本Demo,主要是处理网络请求,把获取的数据显示在TableView上
另外
TableViewProtocol: 为了避免ViewController太重,我把TableView的DataSource和Delegate分离出来
MVVMDemo的效果预览
三、iOS架构
结构设计的层次是否越多越好?
多人都会说,凡事不能走极端,走了极端就过犹不及。所以应该分层,但不能过分分层,应该视具体情况来定。这样的话听起来很有道理,却只是一句废话。当我们遇到问题时,还是摸不着头脑!
看看知名的架构师是怎么说的吧!来自蔡学镛
我做(开发)架构的几个原则,根据优先次序高低排列:
1. (逻辑)拆分越细越好
2. 依赖关细越少越好
3. 交互越少越好
相互矛盾时,如果没有特殊理由,以优先权高者胜出。
由此启发,我觉得设计架构应该拆的越细越好。这样做有如下几点好处:
对于大中型软件,层次越多,每一层就更单纯,更容易维护。
团队成员只需了解一小部分业务,就能顺利进行开发。
相对底层的模块,可以更好的重用。
层次分的越多,开发者对抽象的理解就更深入。