WEB开发网
开发学院软件开发Java Hibernate流行架构浅析 阅读

Hibernate流行架构浅析

 2009-09-21 00:00:00 来源:WEB开发网   
核心提示: 存储、更新和删除存储在数据库中的信息高级的对象关系映射框架比如Hibernate支持大部分主流SQL数据库,它们支持父/子关系,Hibernate流行架构浅析(3),事务,继承和多态,因为它们在不同的层间移动时可能会丢失事务,这种模型允许Java 开发者能够以OO风格的方式很自然的处理对象,下面

存储、更新和删除存储在数据库中的信息

高级的对象关系映射框架比如Hibernate支持大部分主流SQL数据库,它们支持父/子关系,事务,继承和多态。

下面是应该在持久层避免的一些事情:

◆业务逻辑应该置于应用的更高层中。这里只允许数据访问方法。

◆不应该使持久逻辑和表现逻辑耦合。避免表现组件如JSP或者基于servlet的类中的逻辑直接和数据访问进行通信。通过将持久性逻辑隔离在其自己的层中,应用将具有更加灵活的修改性而不影响到其他层的代码。例如, Hibernate 可以使用其他持久框架和API代替,而不需要修改其它层中的代码。

业务层

典型的Web应用的中间组件一般是业务层和服务层。从编程的角度来说,service layer经常被忽略。这种类型的代码散布于UI表现层和持久层并不是不多见。这些都不是正确的地方因为它导致了紧密耦合的应用和难以维护的代码。幸运的是,大多数框架都解决了这个问题。这个空间内最流行的两个框架是Spring 和PicoContainer。它们都被视为是具有非常小的足迹(footprint)并且决定如何将你的对象整合在一起的微容器 (microcontainer)。这些框架都建立在一种叫做依赖性注入(dependency injection) (也称控制反转(inversion of control:IOC))的简单概念之上。我们将关注Spring中通过针对命名配置参数的bean属性的setter 注入的使用。Spring 也允许一种更加高级的构造器注入(constructor injection)形式作为setter injection 的可选替代。对象通过简单的XML 文件进行连接,该配置文件包含对各种对象的引用,比如事务管理处理器(transaction management handler),对象工厂,包含业务逻辑的服务对象,以及数据访问对象(DAO)。我们随后会用一些例子来澄清Spring中使用这些改变的方式。业务层应该负责下面的问题:

◆处理应用的业务逻辑和业务校验

◆管理事务

◆允许与其他层进行交互的接口

◆管理业务级对象之间的依赖性

◆加入了表现和持久层之间的灵活性,以便它们不需要彼此进行直接通信

◆从表现层暴露上下文给业务层以获得业务服务

◆管理从业务层到表现层的实现

领域模型层

最后,因为我们要解决实际的问题的web应用,我们需要一套在不同的层间移动的对象。领域模型层包含的是表达实际业务对象的对象,比如Order, OrderLineItem, Product 等等。这一层允许能让开发者不再构建和维护不必要的数据传输对象DTO来匹配其领域对象。例如, Hibernate允许你读取数据库信息到一个领域对象的对象图中,以便你可以在离线的情况下将其表现在UI层中。这些对象可以被更新并跨过表现层发送回去,然后进行数据库更新。另外,你不再需要将对象转变成DTO,因为它们在不同的层间移动时可能会丢失事务。这种模型允许Java 开发者能够以OO风格的方式很自然的处理对象,而不用编写额外的代码。以上介绍Hibernate架构

上一页  1 2 3 

Tags:Hibernate 流行 架构

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接