【发布时间】:2011-01-19 20:29:20
【问题描述】:
您认为至少应该将哪些功能内置到可持久化的业务对象中?
例如:
- 验证
- 一种与同一类型的另一个对象进行比较的方法
- 撤消功能(回滚更改的能力)
【问题讨论】:
-
类应该只有一种功能(单一责任原则)。当你想做多件事时使用多个类。
-
单一职责并不一定意味着该类只做一件事。如果一个 Policy 对象可以合理地获取报价、评价和发布,那么可能存在三种不同的方法,每种方法都做一件事。这三个方法都与一个 Policy 对象相关。我认为下面的 DDD 答案是正确的观点。
-
在 DDD 意义上,您可能会在每个验证上下文的单独对象中使用验证,您将使用工作单元或备忘录实现回滚,但可以创建您描述的 Policy 对象,包括等于方法。不同的东西属于不同的类,但相关的东西应该放在一起。尤其是在使用 DDD 时,使用不同名称的不同类可以为您的代码增加价值。
标签: oop persistence business-objects