MVC模式

当我们去面试的时候,面试官问的最多了就是:什么是MVC模式?

记得当我刚开始做项目的时候,只有ViewControl,把所有的东西都放在VC里面。直到开始接触网上的demo,发现别人写的怎么那么多目录,后来在网上查了一下,原来VC里面不能放太多东西,不然项目会很笨重。所以我们需要多个目录来分别存放数据,逻辑,算法,视图,以及交互方式。

MVC拆开来就是 Model 、 View 、 Control 。

Model:模型,存放数据和逻辑算法的地方(cell高度的计算,网络请求类等)

View:视图,存放可视视图(控件的创建,布局)

Control:控制器,由于Model跟View之间不能进行直接的数据交互,所以需要Control作为桥梁,沟通View跟Model(通过Action,KVO,Delegate等方法)

所以当我们项目开始前需要根据项目的功能模块进行分配目录,然后在每个模块目录下分为Model,View,Control  3个小目录。最后根据项目需求进行更加细节的分配。

然而现在MVC还没研究透,前段时间又兴起了MVVM模式。代表分别为OC的 RAC,以及Swift的RxSwift(本人对这两个正处于刚开始接触阶段,有什么好的文章推荐可以在下方评论或者私聊我也行。谢谢)

你可能感兴趣的:(MVC模式)