`
duyangsss
  • 浏览: 127461 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

J2EE中多模块的项目工程问题

阅读更多

 在一个J2EE中,当项目的主要业务逻辑要划分为多个模块时(及要划分出多个ejb的jar包),会遇到模块之间双向依赖的情况。下面按照我在项目的实际情况为例来说明。

我所在的项目是一个钢铁公司的生产控制系统(MES)。其中有两个模块(计划管理和库管理)分别以EJB的项目来开发, 在计划管理模块中有一个制定生产计划的功能,这个功能中会查询库存信息。而库存信息的获取要使用到调用库管理模块的实体类或服务方法。这个时候计划管理模块就会依赖于库管理模块。

在库管理模块中有追踪查询库存中各种物品是由哪个计划号下达的功能,这个功能中获取计划号下的相应计划信息。又会依赖计划管理模块。这时就产生了项目模块之间的双向依赖,如图所示:

如果当这两个模块之间会有很多的相互调用,则考虑将这两个模块合并为一个项目。但是在现实中项目往往不会接受这样一个结果。(如产品化或单独热部署等各种原因。)所以,我们就需要考虑去掉一个方向的依赖,最终使模块之间的依赖是单向的。

一般情况下模块之间的依赖分为两种情况:

1.一个就是依赖其它模块的业务方法

当是依赖其它模块的业务方法的时候,我们可以考虑将这个业务方法中的业务逻辑移到自己模块中的业务方法中。

2.另一个是依赖其它模块的实体类

当是依赖其它模块的实体类时,我们也可以考虑将这个实体类移动到自己模块中。

除此之外还有另一个方法,就是查询的实体结果使用数组的方式。这样就不会依赖其它模块的实体了,但这样又会造成代码可读性差难以维护的问题。

 

如果系统中的模块太多时,可以考虑将模块之间双向依赖的业务方法和实体类统一放到一个公共模块中,这样所有的双向依赖问题就解决了。

 

 

 

 

  • 大小: 11.1 KB
分享到:
评论

相关推荐

    基于J2EE的两个项目源码(含数据库设计)

    通过深入研究这些源码,开发者不仅可以提升对J2EE技术栈的理解,还能掌握实际项目开发中的问题解决技巧,对于提升软件工程能力大有裨益。无论是初学者还是有一定经验的开发者,都能从中获益,进一步提升自己的专业...

    J2EE项目开发的平台、环境搭建、集成及工程的建立

    本文将详细介绍J2EE项目开发中的关键平台、环境搭建过程以及工程的建立步骤,帮助开发者构建一个高效稳定的开发环境。 #### 二、J2EE项目开发的关键平台与环境 **1. 数据库平台:Oracle9i** Oracle9i是一款功能...

    JP.rar_J2EE_教学_软件工程

    本篇将围绕"JP.rar"压缩包中的教学资源,深入探讨J2EE在软件工程中的应用,以及如何通过实际项目来学习和理解软件工程的整个开发流程。 "JP.rar"这个压缩包内含的"Java project development throughout Record.exe...

    Flex4+J2EE+Blazeds配置jspweb工程

    在这个配置过程中,我们将深入理解这三个组件的作用以及如何将它们整合到一个JSP Web工程中。 1. Flex4:Adobe Flex 4是一种基于ActionScript和MXML的开源框架,用于构建RIA。它提供了强大的用户界面组件库,可以...

    基于J2EE的工程项目管理系统设计以及实现.docx

    本文针对基于J2EE的工程项目管理系统设计与实现进行了深入探讨,旨在解决日益复杂的工程项目管理问题。 首先,现代工程项目管理系统面临着多重挑战,如大量遗留数据的处理、管理难度的增加、项目周期长、涉及领域...

    J2EE项目实训——UML及设计模式课件.rar

    在线商城项目源程序,这是一个涵盖了用户管理、商品展示、购物车、订单处理等多个模块的完整项目。通过分析这些源代码,我们可以深入理解J2EE中的Servlet、JSP、EJB(Enterprise JavaBeans)、JPA(Java Persistence...

    基于J2EE的工程项目管理系统设计以及实现.pdf

    基于J2EE的工程项目管理系统旨在解决传统管理系统中的遗留问题,如数据处理复杂、管理难度高、项目周期长、涉及领域广以及管理效率低等问题。 首先,J2EE平台提供了一种分层架构,通常包括表现层(Browser/Client)...

    J2EE大作业-SpringBoot项目

    【标题】:“J2EE大作业-SpringBoot项目” 【正文】: 本项目是一个基于J2EE技术栈的SpringBoot应用程序,旨在展示如何利用现代化的Java企业级开发工具和框架来构建一个完整的Web应用程序。SpringBoot是Spring框架...

    j2ee高级工程师高新个人简历

    J2EE利用Java语言的平台无关性,以及丰富的API和类库,来构建可伸缩的、可移植的、多用户的以及安全的网络应用。 作为一名J2EE高级工程师,首先应具备扎实的Java编程语言基础,包括Java的核心特性、面向对象编程...

    基于J2EE的项目管理系统的设计与实习

    总的来说,【基于J2EE的项目管理系统的设计与实习】涵盖了从Web开发基础到企业级应用设计的诸多方面,不仅锻炼了开发者对JSP、Servlet等技术的掌握,还要求他们理解并应用软件工程中的系统分析、设计原则以及项目...

     IDEA下创建多模块maven项目1

    【IDEA下创建多模块maven项目1】的教程详细介绍了如何使用IntelliJ IDEA创建一个基于Maven的多模块Java项目。这个项目由一个主工程`multi-module-Project`构成,它包含了两个子模块:`web-app`和`web-service`。 1....

    J2EE工程打包教程

    在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是一种广泛使用的开源企业级应用开发框架,它允许开发者构建可扩展、安全且高度模块化的应用程序。本教程将聚焦于J2EE工程的打包过程,这通常是软件开发...

    J2EE项目开发Excel导入导出操作组件源代码

    这样的设计遵循了软件工程中的模块化和低耦合原则,提高了代码的可读性和可扩展性。 4. **源代码分析**: 这个组件可能包含以下几个关键部分: - **数据模型**:定义与Excel工作表对应的Java对象,通常包括getter...

    J2EE OA 项目开发日记简介

    在提供的文件中,"J2EE OA项目开发日记.doc"很可能记录了整个开发过程的详细日志,包括遇到的问题、解决方案、时间线和项目进度等,对于学习和理解J2EE OA项目的开发流程非常有帮助。而"99java.com.txt"可能是开发者...

    J2EE 架构师手册

    J2EE架构师的角色则是在项目初期定义技术路线,设计系统架构,确保系统的稳定性和性能,并解决开发过程中遇到的技术难题。 在本书中,你会了解到J2EE架构设计的基本原则,包括分层架构、模块化设计、服务化思想等。...

    myeclipse创建和发布J2EE工程

    本文将详细介绍如何利用MyEclipse(版本6.0.1GA)在Eclipse3.3环境下,配合Jboss4.0.4服务器,创建、配置并发布基于EJB3的J2EE工程项目。 #### 一、构建J2EE开发环境 首先,确保开发环境已经搭建好,包括安装了...

    j2ee课程设计报告

    设计过程中参考了多本专业书籍,包括刘斌的《精通Java Web整合开发》、戎伟和张双的《Struts-Java流行服务器、框架、工具及整合应用》、高红岩的《Struts实用开发指南》、郭克华的《J2EE高级框架实战教学》视频教程...

    项目任务管理系统 J2EE

    在软件工程领域,项目管理是一项至关重要的工作,它涵盖了需求分析、系统设计、编码、测试以及维护等多个阶段。本项目管理系统运用了软件工程的最佳实践,确保了从项目启动到交付的每个环节都遵循规范,提高了开发...

    虚拟服装企业J2EE项目

    《虚拟服装企业J2EE项目》是一个典型的基于Java企业级应用平台(J2EE)的系统开发案例,它涵盖了软件工程中的多个重要环节,包括需求分析、系统设计、编码实现、测试以及部署。这个项目主要目标是模拟一个实际的服装...

    j2ee网络留言板程序,包含文档

    《J2EE网络留言板程序详解》 ...对于初学者来说,通过实际操作这个项目,可以加深对J2EE开发的理解,并提升解决问题的能力。而对于有经验的开发者,它也是一个不错的代码参考和模块化设计的示例。

Global site tag (gtag.js) - Google Analytics