MVC与三层架构有很多相似的地方,很容易让人误解三层架构是MVC,或者MVC是三层架构,我也是其中之一,事实上它们是不同的,三层架构是一种架构方式,即把软件工程大致划分为三层,这是从整体的角度来划分的软件层次,这是一个软件工程的整体框架,而MVC是一种设计模式,是一种分离代码的思想,更侧重于前端、侧重于表现数据。
一、MVC与三层架构的异同
1.不同点
三层架构是程序设计的一种典型架构方式,确立项目后首先做的是对其进行架构设计,三层架构就是把应用程序的分层,从而降低各个模块之间的耦合。而MVC是程序的一种设计模式,应用程序只有确立架构后才根据需求决定是否要需要采用的一种设计模式。因此二者的区别也就显现出来了,三层架构是一种架构方式而MVC是一种设计模式(或者说是一种设计思想)。
三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是一种相互协作关系。即使将MVC当作架构模式,也不是分层模式。严格来说,MVC和三层架构基本没有比较的意义,是应用于不同领域的技术。
2.相同点
MVC与三层架构虽然说实质是不同的,但是两者所实现的目标是相同的,都是为了降低软件的关联程度,即使应用程序达到”高内聚,低耦合“的目的。
</