【发布时间】:2013-09-30 07:48:41
【问题描述】:
我的应用程序有大约 50 个在 UI 中以网格格式显示的实体。所有 50 个实体都有 CRUD 操作。大部分操作都有标准流程
即。对于获取,从存储库中读取实体,转换为 DTO 并返回 DTO 的列表。 用于创建/更新/删除 - 获取 DTO - 转换为实体,使用存储库在数据库上创建/更新/删除,返回更新的 DTO
请注意,对于某些实体,还需要执行一些特定于实体的操作。
目前,我们为所有实体提供了一个 get/create/update/delete 方法,例如 获取产品 创建产品 更新产品 获取客户 创建客户 更新客户 在每种方法中,我们使用 Product/Customer 存储库在从 entity -> dto 转换后执行 CRUD 操作,反之亦然。
我觉得有很多代码重复,必须有一种方法可以删除这么多这些方法。
我可以使用一些模式(命令模式)来避免代码重复吗?
【问题讨论】:
-
@AdamArold,我应该想象,如果有 50 个奇怪的实体,那么需要大量代码转储到一个问题中。对于操作来说,一个更好的问题可能是,例如,您是否从数据库中自动生成代码?例如,在 NetBeans 中,我可以将它指向一个数据库并让它生成大部分的 crud。它使维护变得容易。任何特定的附加逻辑都应该放在包装器之外(请参阅装饰器)
标签: java design-patterns