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也是一种持久化机制。