域驱动设计 – 域模型保存

域驱动设计 – 域模型保存,第1张

概述最近读完埃里克埃文斯领域驱动设计(非常有用,非常有乐趣)然而,自完成本书以来,第一个重大项目得到了如何处理领域模型保存的问题? 我很欣赏服务/存储库的使用以及它们如何帮助模型,但它们如何处理模型保存? 我之前的域模型保存将遵循以下方法调用结构; ParentClass.Save { ParentClassDB.Save ChildObject1.Save ChildObject1DB.Save C @H_502_2@ 最近读完埃里克埃文斯领域驱动设计(非常有用,非常有乐趣)然而,自完成本书以来,第一个重大项目得到了如何处理领域模型保存的问题?

我很欣赏服务/存储库的使用以及它们如何帮助模型,但它们如何处理模型保存?

我之前的域模型保存将遵循以下方法调用结构;

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@ 总结

以上是内存溢出为你收集整理的域驱动设计 – 域模型保存全部内容,希望文章能够帮你解决域驱动设计 – 域模型保存所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1075114.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存