三层架构与MVC的区别

2017-07-20  本文已影响0人  zjk_00

原文连接:http://blog.csdn.net/gaoying_blogs/article/details/39178677

其实这篇博客的重点不是介绍三层架构,是重点介绍MVC并帮助理解MVC。学了这么久MVC发现对它的理解还存在很多误区,今天就来好好整理一下MVC。

MVC即Model-View-Controller,其中M-V-C各代表什么,我想即使我不一一列举大家也都了然于胸了。因为太熟悉了,就像我们当初学习三层架构一样,时间长了U-B-D各代表什么含义信手拈来。但是我想说的是,我们是否对MVC的认识也只是停留在表面?

众所周知,在MVC中,代表的具体含义如下:

对MVC有个大体的认识之后,现在,要分析这三部分的内容了。这是这篇文章的重点哦。首先和三层架构比较一下。在网上查过很多资料,很多人认为MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层。但是我的理解可能有些不一样。三层架构相对而言权责界限分明,分工明确,相互不过问超出各自职权的事,中间靠实体进行交互。

而我理解的MVC架构模式:

image.png

上面这张图也许会帮助我们更好的理解MVC。除此之外,有人提过,说C层没有任何业务逻辑。这一点我也有不同的意见,这就要看你较不较真了,要是真较真儿,C层和M层交互,M层负责主要的业务逻辑处理,相互要交互,C层就要知道这些逻辑,所以不可避免的C层也需要有一小部分的业务逻辑做支持。但是,你要清楚的是,主要的业务逻辑部分还是在M层处理的。所以如果不细揪的话,就可以把C层控制层理解成获取请求,将用户输入的指令和数据传递给M层进行处理;M层负责业务处理和进行数据库交互;V层则根据业务逻辑选择不同的视图,负责显示出来。

可能我认识的MVC跟网上出现的观点不太一样,至于孰对孰错,这个待以后继续深入学习后再做评判。下篇文章我将继续MVC的内容,讨论一下Model1和Model2,敬请期待吧!

上一篇下一篇

猜你喜欢

热点阅读