thisやthisのような多くの議論は、RICH DOMAIN MODELに関連しています。
amenic については、1 と 3 のように 2 つの強力な理由があります。
ここで、製品が在庫に存在することを検証し、存在しない場合は例外をスローする必要があることを確認する必要があるとしましょう。
ISomeRepository
質問があります: オブジェクトがサービスのように依存する必要がない場合は、次のようにできますか?
public void Order.AddOrderLine(IEnumerable<Product> products, Product product)
{
if(!prosucts.Contains(product))
throw new AddProductException
OrderLines.Add(new OrderLine(product));
}
次のように呼び出します。
Order.AddOrderLine(ISomeRepository.GetAll(), product);