
我很欣赏服务/存储库的使用以及它们如何帮助模型,但它们如何处理模型保存?
我之前的域模型保存将遵循以下方法调用结构;
ParentClass.Save
{
ParentClassDB.Save
Childobject1.Save
Childobject1DB.Save
Childobject2.Save
Childobject2DB.Save etc etc
}
服务是否可以控制在子对象上调用适当的保存例程?
解决方法 在DDD中,域实体不会处理其持久性.理想情况下,你不应该有一个Save()方法.您的存储库将具有这样的Save方法,该方法接受参数中的实体实例:
public class PersonRepository{ //... public voID Save(Person person) { this.dataContext.Save(person); } //...} 根据您的堆栈,ORM将处理对象保存,或者您将通过构建查询来保存人员,或者您将使用实例值等填充存储过程参数.
如果我正确理解了您所做的事情,可能需要将您放置在域实体中的持久性逻辑移动到其他地方,可能是存储库或存储库使用的DAL.
@H_502_2@ 总结以上是内存溢出为你收集整理的域驱动设计 – 域模型保存全部内容,希望文章能够帮你解决域驱动设计 – 域模型保存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)