下面是一個很好的設計,可以在洋蔥結構和域驅動設計中使用嗎?域模型應該調用基礎設施接口嗎?
說你有一個像這樣
class Order
{
INotificationService _notificationService;
ICartRepository _cartRepository;
void Checkout(Cart cart, bool notifyCustomer)
{
_cartRepository.Save(cart);
if (notifyCustomer)
{
_notificationService.sendnotification();
}
}
}
的「訂單」領域類是好還是壞的設計有基礎設施的領域模型調用接口?(在這種情況下,notificationservice和CartRepository)
您確定致電客戶通知是您訂單的關注點嗎?這似乎是我對應用程序級別的關注。當客戶退房時,未來需要採取的措施如何爲將來的銷售提供信貸,通知您的內部統計數據庫和其他簿記等?你是否總是要修改你的訂單類?對於SPR原則,我建議像下面的答案一樣提出域名事件,並由獨立觀察員處理該事件。 –