三层架构是整个项目的架构,将整个项目分层,分为三层,分别为表现层(UI),业务逻辑层(BLL)、数据访问层(DAL)。
1、表现层(UI):通俗讲就是展现给用户的界面。
2、业务逻辑层(BLL):对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):数据操作,数据查询处理。
MVC也是分为三层,分别为Model(模型),View(视图),Controller(控制器)。
不同的是,三层架构,是一个分层式的软件体系架构设计,适用于任何项目,而MVC是一个设计模式,是否适用由项目需求而定,其实二者职责划分都是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦。
严格来说M-V-C三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。
mvc可以是三层中的一个表现层框架,属于表现层。三层和mvc可以共存。
三层架构的分层模式是典型的上下关系,上层依赖于下层。
但MVC作为表现模式是不存在上下关系的,而是相互协作关系。
即使将MVC当作架构模式,也不是分层模式。MVC和三层架构基本没有可比性,是应用于不同领域的技术。