【发布时间】:2012-03-09 14:19:29
【问题描述】:
我尝试将尽可能多的业务逻辑放在我的领域模型中。
每次更新 MyEntity 时,我都希望发生两件事:
- 向创建它的用户发送消息
- 检查更改是否适用于某些业务规则
如果实体不是聚合根的子级。
通常我会从存储库中获取特定实体。更改实体,并将其持久化
使用 MyRepository.Save() 回到数据库
在这种情况下,我必须将业务逻辑放在我的应用程序或 DAL 中,而不是域模型中。我试图避免使用业务逻辑层,除非绝对必要,但我似乎无法适应这一点,除非我创建一个名为 MyEntity.Update() 或类似的方法,但我有一种不正确的感觉方法来做到这一点。
【问题讨论】:
-
您确定这些操作属于应用程序特定域吗?
-
嗯,这个问题是一般性的,因为它不需要是这个特定的逻辑,而是当您更改不是聚合根的实体时适用的任何逻辑或规则。
标签: c# repository domain-driven-design persistence