存在實體:客戶,如果客戶更改其名稱(通過Web UI),則客戶服務必須檢測到此更改並向管理員發送電子郵件。檢測對域對象的更改
現在是否應將此責任分配給客戶?類似於
c.HasChangedName(NewName);其中c是對客戶的引用
CustomerService可能會根據對客戶實體所做的這些更改進行其他活動。電子郵件只是一個例子。
存在實體:客戶,如果客戶更改其名稱(通過Web UI),則客戶服務必須檢測到此更改並向管理員發送電子郵件。檢測對域對象的更改
現在是否應將此責任分配給客戶?類似於
c.HasChangedName(NewName);其中c是對客戶的引用
CustomerService可能會根據對客戶實體所做的這些更改進行其他活動。電子郵件只是一個例子。
通過我看來,客戶總根(我想這是一個總根,而不是一個實體)應
customer.ChangeName(string newname)
方法調用發佈CustomerNameChanged事件。
您可以在Greg Young的github存儲庫中查看some implementation sample。 或者如果不想使用事件源,你可以看看Udi Dahan的post about domain events
聽起來像你只需要在你的控制器層邏輯中插入的邏輯,而不是實體。 – Tejs 2011-05-17 18:29:46