三层架构(一)

来源:互联网 发布:网络直播现象研究 编辑:程序博客网 时间:2024/05/19 03:29

三层架构

首先MVC不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失

1、 三层架构
通常意义上的三层架构就是讲整个业务应用划分为: 表现层(UI)、业务逻辑层(BLL 或 SERVICES)、数据访问层(DAO data access Object)

表现层的实现代表作品是Structs框架,业务层的实现代表作品是Spring,持久层的实现代表作品是Hibernate
层就相当于一个黑盒子,不是知道它内部类怎么实现,只要知道如何去调用它就行了。每层只与上下相邻的两层打交道。当一层内部由于技术变迁发生改变时,只要接口不变,其他层不用做任何改变。分层之后灵活性提高,也便于团队分工开发

2、 MVC与三层架构的区别与联系
a. MVC是Model-View-Control,严格来说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话,而C层直接与三层中的BLL进行对话

b. MVC可以是三层汇总的一个表现层框架,属于表现层。三层和MVC可以共存。三层是基于业务逻辑来分的,而MVC是基于页面来分的

c. MVC主要用于表现层,三层主要用于体系架构,三层一般是表现层、中间层、数据层

d. 在spring这样的框架中,面向接口编程,表示层调用控制层,控制层调用业务层,业务层调用数据访问层

3、 mvc本身的作用: 为了实现松耦

model: 模型层,就是和数据库相关的概念,比如实体类和dao、mapping.xml等,对应着三层架构中的数据访问层
view: 视图层,就是前台的页面或者说是客户端显示给用户看的东西,也就是表现层
control: 控制层,control及service等具体的业务逻辑,对应着三层架构的应用层