一、三层架构
三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层、业务逻辑层和数据访问层三层架构。
表示层:与用户直接接触,表示层就是实现用户的界面功能,也是系统数据的输入与输出,是为用户传达和反馈信息的。
业务逻辑层:对数据层的操作,对数据业务逻辑处理。同时也是表示层与数据层的桥梁,实现三层之间的数据连接和指令传达。
数据访问层:也称为持久层,主要功能是对原始数据的操作。具体为业务逻辑层或表示层提供数据服务。
注:三层架构程序设计中,采用面向接口编程,各层之间采用接口相互访问,并通过对象模型的实体类作为数据传递的载体。
二、MVC架构
MVC 全名是模型( model ) - 视图( view ) - 控制器( controller ),一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
视图:为用户提供使用界面,与用户直接进行交互。
模型:代表一个存取数据的对象或者是 java 对象。主要用于承载数据,并对用户提交请求进行计算的模块。模型分为两类,一类称为数据承载 Bean,一类称为业务处理 Bean。所谓数据承载 Bean 是指实体类(如:User 类),专门为用户承载业务数据的;而业务处理 Bean 则是指 Service 或 Dao 对象,专门用于处理用户提交请求的。
控制器: 用于将用户请求转发给相应的模型进行处理,并根据模型的计算结果向用户提供相应响应。它使视图与模型分离。
三、三层架构与 MVC 的区别
无论是MVC架构还是三层架构,都是一种规范,都是奔着“高内聚,低耦合”的思想来设计的。
MVC 架构是为了解决应用程序用户界面的样式替换问题,把视图层尽可能的和业务代码分离。
而三层架构是从整个应用程序架构的角度来分层的。当然,如果有需要的话,还可以分层。在三层架构中业务逻辑层和数据访问层要遵循面向接口编程。