如何使桌面应用程序模块化?

set*_*ora 7 java desktop modularity desktop-application

如何使Java桌面应用程序模块化?如何对模块进行分类?

Mic*_*rdt 6

作为一个设计目标,模块化意味着您希望应用程序由单独的部分(模块)组成,其中每个部分都有其责任区域,并包含与该区域相关的所有类(高内聚),并且这些部分之间的通信通过狭窄的方式进行,明确定义和文档化的接口(松散耦合).

您可以通过事先规划设计并在实施过程中不断调整计划和重构代码来实现这一目标.

在GUI,网络通信或数据库访问等技术模块(通常形成层,尽管这些可能被细分为多个模块)和包含特定于应用程序的逻辑的域模块之间进行区分是非常有用的.形成层.


Cog*_*gsy 5

看看OSGi技术.应用程序的每个模块(称为bundle)都是一个单独的jar,OSGi负责依赖解析并动态加载bundle类路径等.

对于桌面应用程序,我强烈建议您查看www.dynamicjava.org上的DA-Launcher .它使您的应用程序SOOO更容易部署.他们还有一些像动态JPA这样的东西,对任何OSGi应用程序都很有用.