如何处理在使用域驱动设计时由实体更新/修改

时间:2011-11-03 20:16:10

标签: domain-driven-design entity

我们目前正在尝试在基于.NET的应用程序(ASP.NET,WCF,Castle Windsor,NHibernate堆栈)中应用域驱动设计的原则

问题出在表级,我​​们更新了(字符串),更新了(日期时间)订单。订单批准后,我们​​需要更新,更新后反映审批人姓名和批准的日期/时间。

你们在应用程序层中做了如下的事情吗?请告知
    order = orderRepository.Find(orderId)     order.businessLogicCall1()
    order.businessLogicCall2()
    order.updatedBy(用户名)
    orderRepository.Save(order)

order.updatedBy()调用还会在执行更新时更新内部字段updatedOn以获取日期/时间。这由Nhibernate

发布到桌面上

1 个答案:

答案 0 :(得分:1)

为什么不订购。审批(anApprover,approvalDate)anApprover是批准它的人?如何在数据库中表示由您决定。 与此正交的是持久性机制,用于保存执行操作的人员(可能是最终用户)以及每个受影响的实体。这种存储的商业意义较少。