2011-05-24 64 views
1

我有一个关于使用JBoss Seam进行应用程序设计的最佳实践的问题。 我打算实现一个基于Seam的应用程序,但我想保持实体模型松耦合。 (这是因为我希望能够在非Java EE环境中使用它) 我想到的一个解决方案是将额外的DTO层定义为Seam组件,可用于在标记和实体之间传输信息。但我认为这不是一个优雅的解决方案。如何将JBoss Seam应用程序中的实体模型外化?

在Seam应用程序中将实体模型外化的最佳实践是什么,但是能够使用大部分Seam功能?

回答

1

通常,实体只是具有注释属性(JPA)的Java对象。因此,如果您在另一个应用程序中使用该模型,则只需担心JPA注释为依赖项。这只会是一个声明并且没有运行时间影响的jar。您是否对Seam中的实体有任何特别的计划,例如:将它们用作实体bean(不确定好处),因此引入更复杂的依赖关系?一个更简洁但更复杂的解决方案将是为实体定义使用接口并为不同的应用程序提供具体的实现,例如, JPA为Seam注释了bean,为其他应用程序注释了unannotated bean。这当然可以手动完成,或者在框架的帮助下完成。我使用Eclipse EMF来生成JPA模型,该模型被一个接口抽象为用于其他应用程序,但由于EMF默认处理双向依赖性等方式,所以有一些注意事项。

相关问题