三层架构分为界面层、业务逻辑层、数据访问层。很多人就同MVC里的三个核心部件同三层架构等同起来,认为界面层等于View,业务逻辑层等于Controller,数据访问层等于Model,这是完全错误的。
MVC设计模式解决的是页面代码、页面控制逻辑和数据耦合的问题,所以它首先属于界面层。比如:Asp.net MVC和Structs都是界面层框架。
MVC里的Controller是负责对页面进行控制的,比如:页面间跳转,显示逻辑等。三层架构里的业务逻辑层主要是对业务实体数据的加工,把加工后的数据传给页面显示。
MVC里的Model只是数据实体,是数据的容易,不具备什么增删改查的功能,他接收的数据是从业务逻辑层处理好传过来的数据。而三层架构里的数据访问层是具有增删改查功能的,是直接对数据库操作的,为业务逻辑层提供数据支持。
切忌MVC只是三层里的界面层,千万别混淆,这是经典的面试题之一。