我有一个设计层面的问题。在我们的应用程序中使用 DAO 或 DTO 之间存在争论。我浏览了现有的帖子,了解到 DTO 仅在表示复杂对象时使用。但是,我的视图可以仅使用对我的表的连接操作来生成。数据库:表格:game
game_details (has a primary key of Game) - There will be at max 4 rows for a given game_id我的视图包含表 game 和 game_details 中的所有列。这 4 行中的每一行都将显示在不同的选项卡中。对于视图中的每次更改,有 3/4 的概率更新两个表。现在最好的方法是什么。1. 将整个视图包装为 DTO。2. 或者使用 GameDetails 模型对象列表定义我的模式 Game。如果我们采用第二种方法,我们的数据持久化方式会有任何变化。
1 回答
MYYA
TA贡献1868条经验 获得超4个赞
数据访问对象就是这样做的。他们如何做到这一点取决于您使用的技术;我喜欢 Hibernate 进行 CRUD 操作。
我使用术语数据传输对象来指代描述我的 API 的对象。因此,我将定义与我在 RESTful 服务中传递的 JSON 相匹配的 DTO。
我使用 DTO和实体对象将 API 与数据库分离。它涉及更多的处理,但我发现额外的努力是值得的。
如何定义 DTO 取决于您,取决于您如何描述在服务 API 中传递的数据。使用 JDBC 填充扁平结构更简单;然而,它通常包含大量冗余数据,需要更多的逻辑来处理。结构化方法,其中 header 包含详细信息列表,可能需要更多的工作来填充,但它避免了冗余并且更容易使用。
添加回答
举报
0/150
提交
取消