MVVM

一、MVVM的定义

8370_140716093537_1.png

M:模型,负责数据的存储
V:View和ViewController
VC:viewModel,专门负责数据请求、业务逻辑等业务。

二、MVVMDemo

项目地址:https://github.com/coderyi/MVVMDemo

687474703a2f2f3775326b35692e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f6769746875625f6d76766d64656d6f312e706e673f696d6167654d6f6772322f7468756d626e61696c2f21353070.png

Model: 数据的模型

View: 其实包括View和ViewController两部分,统称为View

ViewModel: 本Demo,主要是处理网络请求,把获取的数据显示在TableView上

另外

TableViewProtocol: 为了避免ViewController太重,我把TableView的DataSource和Delegate分离出来
MVVMDemo的效果预览

687474703a2f2f3775326b35692e636f6d312e7a302e676c622e636c6f7564646e2e636f6d2f6769746875625f6d76766d64656d6f5f61707066696c652e706e673f696d6167654d6f6772322f7468756d626e61696c2f21343070.png

三、iOS架构

结构设计的层次是否越多越好?
多人都会说,凡事不能走极端,走了极端就过犹不及。所以应该分层,但不能过分分层,应该视具体情况来定。这样的话听起来很有道理,却只是一句废话。当我们遇到问题时,还是摸不着头脑!
看看知名的架构师是怎么说的吧!来自蔡学镛
我做(开发)架构的几个原则,根据优先次序高低排列:

1. (逻辑)拆分越细越好 
2. 依赖关细越少越好
3. 交互越少越好 

相互矛盾时,如果没有特殊理由,以优先权高者胜出。

由此启发,我觉得设计架构应该拆的越细越好。这样做有如下几点好处:

对于大中型软件,层次越多,每一层就更单纯,更容易维护。
团队成员只需了解一小部分业务,就能顺利进行开发。
相对底层的模块,可以更好的重用。
层次分的越多,开发者对抽象的理解就更深入。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容