java学习之三层架构

三层架构

一、三层机构的简介
三层架构通常意义上的三层架构就是将整个业务应用划分为:
界面层(User Interface layer)、业务逻辑层(Business Logic Layer)、数据访问层(Data Access Layer)
区分层次的目的即为了“高内聚低耦合”的思想。在软件体系架构设计中,分层结构是最常见的,也是最重要的一种结构。原理
三个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓的三层体系结构,是在客户与数据库之间加入一个“中间层”,也叫组件层,不是把物理上的三层,不是简单的放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是逻辑上的三层,即把这个三层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过与中间层建立连接,再经由中间层与数据库进行交互。
二、各层的作用
1、数据访问层,主要是对非原始数据(数据库或者文本文件等存放形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。
2、业务逻辑层,主要针对具体的问题的操作,也可以理解成对数据的操作,对数据业务逻辑处理。如果说数据层是积木。那逻辑层就是对这些积木的搭建。
3、界面层,主要是WEB方式(如jbp),如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务
三、 优缺点
优点
1、开发人员可以只关注整个结构中的其中某一层
2、可以很容易的用新的实现来替换原有的层次的实现
3、可以降低层与层之间的依赖
4、有利于标准化
5、有利于各逻辑层的复用
6、结构更加的明确
7、在后期的维护上,极大的降低了维护成本和维护时间
缺点
1、降低了系统的性能,这是不言而喻的。如果不采用分层结构,很多业务可以直接造访数据库,以此来获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层都增加相应的代码、
3、增加了开发成本

你可能感兴趣的:(java学习)