【发布时间】:2016-03-26 19:46:24
【问题描述】:
我正在开发一个 java web 应用程序并尝试遵循一些模式,如 dao/dto。目前我正在考虑这样的基础架构层:
我遇到了一些关于图层的问题。该方案将这样进行:DAO 接受 DTO 并从数据库返回对象(实体),服务层也接受 DTO,使用 DAO 并使用返回的对象执行所有必需的逻辑。 UI Bean、Service、DAO 和 DTO 类是特定于实体的 - 每个实体都有自己的层。
-
现在我是否需要 UI bean 在视图中使用,或者这会是一种矫枉过正,而 UI 视图可以直接将服务类用作 ui bean?如果没有,我为什么需要 UI bean?
-
另一个问题是关于 DTO。我已经创建了具有所有必需属性的实体,据我所知,DTO 类就像实体类的反射。那么为什么我需要这些 DTO 类,如果我使用它们,我会侦察它需要从实体到 dto 的一些转换,反之亦然。我是否在服务层进行转换?视图(例如 html 页面)是否还会显示 DTO 对象属性而不是实际实体(如调用
#{UIBean.entityProperty})?
【问题讨论】:
-
谢谢,但这并不能回答我的问题。我在询问是否需要额外的(UI bean)层作为服务和 DAO 层的补充。此外,如果需要 DTO 或者我可以使用实体类,因为 DTO 类反映了实体类,并且需要在 DTO 和实体对象之间进行转换。我正在考虑使用 DTO,因为我听说有人说将实体暴露给 UI 和服务是不好的做法,你必须有某种 DTO。
-
我想都在里面,还请阅读相关帖子……
标签: java spring hibernate jsf jpa