`
心动音符
  • 浏览: 341645 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

J2EE集成层模式--业务领域存储

阅读更多
问题:

    需要将持久化逻辑从对象模型中分离出去。

    很多系统都拥有复杂的对象模型,他们需要复杂的持久化策略。由于EJB2容器管理的持久化CMP增加了容器管理关联CMR的特性,用CMP作为复杂对象模型的持久化策略具有更高的可行性。但是有些开发者不使用entity bean,甚至直接在web容器运行应用程序,他们更细化将持久化逻辑从对象模型中分离出来。

    用业务对象模式实现的对象模型可以使用继承,并且可以拥有多层的依赖关系。“透明持久化”的概念极富吸引力,随着对象模型在J2EE应用程序中的地位日益显要,这个概念也变得很流行。如果决定不用entity bean来实现持久化对象模型,就必须选择一种持久化策略。

约束:

     --需要避免在业务对象中放入持久化细节

   --不想使用entity bean

   --应用系统可能需要在web 容器上运行

   --对象模型使用了继承,或者具有复杂的关联

解决方案:

    使用业务领域存储模式实现透明于对象模型的持久化。与J2EE提供的容器管理持久化和bean 管理持久化(将持久化代码放在对象模型中)不同,业务领域存储的持久化机制是与对象模型分离的。

设计手记:EJB持久化  VS  透明持久化

使用entity bean作为持久化机制和透明持久化机制,两者之间有一个关键的区别:entity bean 给对象模型增加了限制,譬如不能继承、需要对ejb编程以支持持久化。透明持久化则保证持久化代码独立于对象模型之外,因此减少了对后者的局限。

   可以用两张方式实现业务领域存储:自己编写一个持久化框架,或者使用现成的持久化产品。持久化产品通常会基于JAVA数据对象JDO规范或者某种专有的OR映射解决方案。

   在实现业务领域存储之前,

效果:

--创建自己的持久化框架是一件复杂的工作

实现业务领域存储模式和透明持久化所需的所有特性并非易事,这不仅是因为持久化问题本身的复杂性,更因为本模式框架诸多参与者之间存在复杂的交互。因此除非其余所有选择尽皆不可行,否则不应该考虑自己来实现OR框架。

--多层对象树的加载和存储需要优化技术

--业务对象可能存在及其复杂的多层体系和关联。在对彼此相关的业务对象进行持久化操作时,可能只想持久化多层体系中被修改了的那些对象。同样,在加载业务对象多层体系中时,也会希望提供各种级别的懒加载方案:一开始只加载其中最常见的部分,在确实需要时在加载其余的部分。

--增进对持久化框架的理解

如果使用第三方持久化框架,对业务领域存储模式的理解将极大的帮助理解该框架。对比业务领域存储模式的介绍,可以很快理解该框架的是如何实现透明持久化的。

--小规模的对象模型可能不需要完整的持久化框架

如果对象模型非常的小,并且只需要对其进行简单的持久化操作,使用基于业务领域存储模式的持久化框架就有点大材小用。在这种情况下,一个基于数据访问对象模式的简单框架就足够了。

--提高可持久化对象模型的可测试性

业务领域存储将持久化逻辑与持久性的业务对象相分离,从而极大的提升了系统的可测试性,因为在测试对象模型时不必使用真是的持久化机制。由于持久化机制是透明的,可以在完成对业务对象模型和业务逻辑模型的测试之后在切换到真实的持久化机制。

--分离业务对象模型和持久化逻辑

业务领域存储模式提供了透明的持久化机制,因此业务对象不必包含任何与持久化操作相关的代码。这样,开发者就不必分心实现业务对象中错综复杂的持久化逻辑。
分享到:
评论

相关推荐

    J2EE成品项目压缩包--图书购物网

    1. **SQL Server**:作为数据库管理系统,存储图书信息、用户数据、订单详情等核心业务数据。SQL Server提供了强大的数据处理能力和安全性,适合处理大量并发请求。 2. **jsp**:JavaServer Pages(JSP)是Java Web...

    J2EE大程-->类似百度知道的问答系统

    在IT领域,J2EE(Java 2 Platform, Enterprise Edition)是一个广泛使用的开源企业级应用开发平台,它提供了一整套服务和API,用于构建分布式、多层的企业级应用程序。在这个项目中,我们讨论的是一个基于J2EE的问答...

    跟我学J2EE系统构架和设计模式-层架构及MVC架构模式的应用实例.docx

    在J2EE开发中,N-层架构模式是最基础也是最常见的架构模式之一。它通常被划分为三层:表示层(也称为Web层)、业务逻辑层(也称为服务层)和数据存储层(也称为持久层)。表示层负责接收用户请求,并将处理结果返回...

    精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用桉例.pdf

    - **四层模型**:在J2EE中,应用程序被划分为四个主要层次:表示层、业务逻辑层、持久层和服务层。 - **表示层**:负责用户界面展示,如HTML页面或JSP页面。 - **业务逻辑层**:处理应用程序的核心逻辑。 - **...

    j2ee+五层web开发架构

    - 遵循DDD(Domain-Driven Design)原则,以业务领域为中心进行设计。 - 使用持续集成和自动化部署工具,如Jenkins、Docker和Kubernetes,提升开发效率和运维质量。 总结来说,J2EE结合五层Web开发架构,为大型...

    J2EE design pattern generator-开源

    **J2EE设计模式生成器** 是一个专为Eclipse集成开发环境设计的开源插件,它的主要功能是自动生成J2EE设计模式相关的代码,极大地简化了开发过程中的模式应用。这个工具不仅提供了基本的代码生成服务,还支持对J2EE...

    基于SOA/J2EE电信增值业务AAA系统的设计与实现

    - **多层架构**:电信增值业务平台采用了基于MVC的设计模式,进一步细分为五个层次:页面表示层、业务外观层、业务规则层、数据访问层和数据存储层。这种分层架构使得系统更加清晰有序,便于管理和维护。 #### 应用...

    J2EE基础-简单的电子商务网站

    在实际工作中,一个完整的电子商务系统还会涉及更多的技术,如JSP用于生成动态内容,EJB(Enterprise JavaBeans)用于业务逻辑处理,以及使用MVC(Model-View-Controller)设计模式来组织代码。此外,安全机制、性能...

    J2EE入门-经典

    - **模型(Model)**:负责存储和管理数据,执行业务逻辑。 - **视图(View)**:展示数据,通常由JSP页面或HTML页面实现。 - **控制器(Controller)**:处理用户输入,调用模型进行数据更新,并选择合适的视图进行渲染。...

    基于J2EE的物流信息管理系统的设计与实现

    J2EE采用的是典型的多层架构模式,一般分为客户端层、Web层、业务逻辑层和服务层。这种分层设计有助于实现高可用性、可扩展性和易于维护的特性。 - **客户端层**:负责与用户的交互,通常使用HTML、JavaScript或者...

    基于J2EE网上商城源码

    - **MVC模式**:在表现层,Model-View-Controller(MVC)设计模式被广泛使用,模型负责业务对象,视图负责展示,控制器处理用户请求并协调模型和视图。 2. **核心组件** - **Servlet**:作为服务器端的Java应用...

    J2EE流行框架(SSH)

    - **Spring**则作为整个应用的粘合剂,通过其强大的依赖注入和AOP特性,实现服务层、业务层和数据层之间的解耦,同时提供了事务管理和安全控制等功能。 SSH框架的整合不仅提升了开发效率,还保证了应用的稳定性和...

    J2EE 学生信息管理系统

    在信息技术领域,J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用开发的平台,它以其强大的多层架构、可扩展性和高安全性闻名。本系统——"J2EE学生信息管理系统",就是基于J2EE技术构建的...

    Telecommunication-systems.rar_J2EE系统

    5. **数据库集成**:虽然描述中未明确提及,但通常电信系统会涉及到大量数据存储和操作,因此可能采用了JDBC(Java Database Connectivity)进行数据库连接,或者通过EJB的实体bean与数据库进行交互,实现数据的CRUD...

    J2EE架构与网络编程实训--超市管理系统设计报告[归纳].pdf

    《J2EE架构与网络编程实训--超市管理系统设计报告》是针对软件开发领域的一份实践性报告,旨在通过设计和实现一个基于SSH(Struts、Spring、Hibernate)框架的超市管理系统,来提升开发者对J2EE平台的理解和网络编程...

    J2EE 网上商城

    J2EE网上商城项目是基于J2EE平台构建的一个典型示例,它通常包含了前端用户界面、业务逻辑层以及数据存储层等多个组成部分。 1. **STRUTS架构** STRUTS是Apache软件基金会的一个开源框架,用于构建MVC(Model-View...

    J2EE电子商务系统开发

    ### J2EE电子商务系统开发知识点总结 #### 一、J2EE概论 - **简单双层架构到复杂多层架构** ...通过学习这些内容,开发者可以全面掌握J2EE技术栈在电子商务领域的应用,并能够构建高效稳定的电子商务系统。

    j2ee13种核心技术

    ### j2ee13种核心技术解析 #### 一、引言 J2EE,即Java 2 Platform, Enterprise ...随着云计算和微服务架构的兴起,虽然J2EE的一些概念和技术已经被新的标准和框架所替代,但它在企业级应用开发领域的影响仍然深远。

    J2EE实验报告

    拦截器(Interceptor)是Struts框架中的一个重要组成部分,主要用于处理MVC模式中的控制层(Controller)逻辑。它可以用来拦截Action执行前后的方法调用,并且能够根据不同的需求进行定制化的逻辑处理,如验证用户输入、...

    图书管理系统 J2EE myeclipse MYSQL

    总之,《图书管理系统 J2EE myeclipse MYSQL》是一个综合性的学习资源,涵盖了J2EE开发的基本要素,对于希望进入Java企业级开发领域的学习者来说,无疑是一份宝贵的实践材料。通过深入研究和实践,不仅可以掌握核心...

Global site tag (gtag.js) - Google Analytics