0
下面是一些示例代碼,其中我們有一個方法可以回答問題「用戶X是否可以查看產品Y?」回答問題的複雜方法的好地方
public namespace Domain
{
public class User
{
...
public bool CanWriteReview(Product product)
{
return this.IsApproved
&& !Kernel.Get<ReviewRepository>().UserHasReviewed(product)
&& !Kernel.Get<SellerAccountRepository>().UserHasSellerAccount(this);
}
}
}
我不喜歡在域POCO這種方法,因爲它有太多的依賴,不能注射,並且必須直接從內核,而不是檢索。你會把這種類型的邏輯放在哪裏?
我發現domain events pattern是一種非常有用的方法,它可以將服務類邏輯取決於域狀態更改,從域中取出。上面提到的方法是否有類似的模式?