J2EE学习之Java EE应用的分层模型

时至今日,我们所谈论的JavaEE应用,往往已经超出了Sun所提出的经典JavaEE应用规范,而是一种更广泛的开发规范。

经典JavaEE应用往往以EJB(企业级Java Bean)为核心,以应用服务器为运行环境,所以通常开发和运行的成本都比较高。

而现在市场上比较流行的轻量级Java EE应用具备了JavaEE规范的种种特征,例如面向对象建模的思想、优秀的应用分层及良好的可扩展性、可维护性。轻量级JavaEE应用保留了经典Java应用的架构,但是开发和运行成本大大降低了。

所以无论是经典的JavaEE架构,还是轻量级JavaEE架构,其本质的思想都是一样的,那就是我们都听说过的分层思想,两种架构模式大致上都可以分为如下几层

DomainObject层:

此层是由一系列的POJO(Plain OldJava Object,即普通的、传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。

DAO(Data AccessObject,数据访问对象)层:

此层由一系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

在经典JavaEE应用中,DAO层也被改称为EAO层,EAO层组件的作用与DAO层组件的作用基本相似。只是EAO层主要完成对实体(Entity)的CRUD操作,因此简称为EAO层。

业务逻辑层:

此层由一系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。

控制器层:

此层是由一系列控制器组成,这些控制器用于拦截用户的请求,并且调用业务逻辑组件的业务逻辑方法,处理用户请求,并且根据处理结果转发到不同的表现层组件。

表现层:

此层由一系列的JSP页面、Velocity页面、PDF文档视图组件组成,负责收集用户请求,并显示处理结果。

大致上,轻量级JavaEE应用的架构如下图所示:
在这里插入图片描述
各层的JavaEE组件之间以松耦合的方式耦合在一起,各组件并不以硬编码的方式耦合,这种方式是为了应对以后的扩展需求。从上向下,上面组件的实现依赖于下面组件的功能;自下而上,下面组件支持上面组件的实现。

至于以EJB/JPA为核心的经典JavaEE应用的结构,和上图中的结构大致上是相似的,只是它的DAO层组件和业务逻辑组件两者都是由EJB组件来充当。其架构图大致如下:
在这里插入图片描述

小结一下:

计算机编程的初期阶段,我们的程序并没有分层这一说,都是混沌不堪的,这样的系统维护起来相当的费劲,而且代码阅读起来也是极其不爽的。技术发展到了今天,无论是多大规模的系统,分层的思想已经深入人心,因为我们的软件系统在使用过程中,不会一成不变,总会有新的需求或者改动,如此一来,当初在设计系统架构的时候,采用分层模型去构建自己的系统就是一个不二之选了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值