三层架构


三层架构
 JavaEE 经典体系:

 

*客户端:

  1.客户访问层

*服务器端:

  2.表示层

  3.业务逻辑层

  4.数据访问层层

------------------------------------

通常所说的三层架构:

1.表示层 2.业务逻辑层 3.数据访问层

 

三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:

表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。

区分层次的目的即为了“高内聚,低耦合”的思想。

------------------------------------

*表示层--User Interface用户界面:

又称web层。

三大框架(ssh)中,struts是针对 此层(表示层) 的开发技术。

通常开发 表示层 时,使用经典的MVC设计模式。

 

*业务逻辑层--Business Logic Layer:

又称service层。

三大框架(ssh)中,spring是针对 此层(业务逻辑层) 的开发技术。

它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。

由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,

改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,

那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,

应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,

因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。

依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。

 

*数据访问层--Data Access Layer:

又称为DAL层,有时候也称为是 持久层,其功能主要是负责数据库的访问。

简单的说法就是实现对数据表的Select(查询),Insert(插入),Update(更新),Delete(删除)等操作。

如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。

数据访问层,简单的说,就是通过DAL对数据库进行的SQL语句等操作。

 

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。

持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。

持久化是将程序数据在持久状态和瞬时状态间转换的机制。

JDBC就是一种持久化机制。文件IO也是一种持久化机制。

你可能感兴趣的:(java,表示层,三层架构,业务逻辑层,数据访问层(持久化))