首先来明确什么是MVC
M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。 —百度百科
从百度百科可以看出 MVC 的框架就是要实现 M 和 V 分离的框架,那么为什么要 M 层和 V 层分开呢?
我们来看下面这个图:
视图层和数据模型层的交互,错综复杂(可以看成是物流发货,发货第直接发往收货地)
哪加上了 C 层后呢
清晰多了(就像快递件有了一个中转站),这是后有人就要问了“小吕同志啊,快递直接发往收货地不好吗?还方便”,无序的东西可能会比较方便,但是无序最大的坏处就是难以管理,而且浪费资源。(就像最矛盾的一句话,只有自律才能自由)
哪 MVC 的每一层都应该放什么东西呢?
下图给你答案: