【发布时间】:2012-06-21 09:43:01
【问题描述】:
我开发了一个具有 4 层的 Java 应用程序:数据库 (MySQL)、持久性 (JPA)、业务(类似于 EJB 中的无状态会话 bean 的 POJO)、表示(Java Swing)。
我决定完全分离表示层和持久层。因此,对所有数据的所有修改都通过业务层完成。这样,表示层甚至不知道实体类的存在。这也允许会话 bean 更好地控制传递的数据,因为有时会话 bean 需要在更改实体之前验证或转换从表示接收的值。
但是,有时会话 bean 需要向调用者发送大量信息(例如具有大量属性的实体列表)。这变得复杂了,因为根据我采用的会话 bean 的设计,需要将所有这些实体解包到其他东西中。我试图将实体列表转换为数组列表(其中数组的每个成员对应于实体中的一个属性),但这似乎有缺陷,容易出错且效率低下我。
将数据发送到演示文稿的正确方法是什么?将实体隐藏在会话 bean 后面的概念是否有意义?此类应用程序中的常见模式是什么?
【问题讨论】:
标签: java design-patterns ejb n-tier-architecture