现在的位置: 首页 > 综合 > 正文

J2EE三层架构概述

2017年12月24日 ⁄ 综合 ⁄ 共 1046字 ⁄ 字号 评论关闭

典型的J2EE三层结构,分为表现层、中间层(控制层、业务逻辑层)和数据服务层。将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
      表现层是传统的
JSP技术。
   中间层采用的是流行的
Spring+Hibernate,为了将控制与业务逻辑分离,又细分为以下几种。
       Web层,就是控制层,框架采用
Struts。
       Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以
DAO层为基础,通过对DAO组件包装,完成系统所要求的业务逻辑。
    DAO层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。

       PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,采用
Hibernate作为ORM框架。

Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。

优秀的分层架构里,控制层依赖于业务逻辑层,但绝不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。

例如PCI接口、显卡或者网卡,只要其遵守PCI的规范,就可以插入主板,与主板通信。至于这块卡内部的实现,不是主板所关心的,这也正是面向接口编程的好处。假如需要提高电脑的性能,需要更新显卡,只要更换另一块PCI接口的显卡,而不是将整台电脑抛弃。如果一台电脑不是采用各种接口组合在一起,而是做成整块,那将意味着即使只需要更新网卡,也要放弃整台电脑。同样,对于软件中的一个个组件,当一个组件需要重构时,尽量不会影响到其他组件。实际上,这是最理想的情况,即使采用目前最优秀的架构,也会有或多或少的影响,这也是软件工程需要努力提高的地方。

引入接口就不可避免需要引入工厂来负责DAO组件的生成。Spring实现了两种基本模式:单态模式和工厂模式。而使用Spring可以完全避免使用工厂模式,因为Spring就是个功能非常强大的工厂。因此,完全可以让Spring充当DAO工厂。由Spring充当DAO工厂时,无须程序员自己实现工厂模式,只需要将DAO组件配置在Spring容器中,由ApplicationContext负责管理DAO组件的创建即可。

抱歉!评论已关闭.