【发布时间】:2014-01-05 17:10:36
【问题描述】:
还有2 strong reason about amenic,比如1和3:
现在假设我需要确保我需要验证 该产品存在于库存中,如果不存在则抛出异常。
所以有一个问题:如果我们不需要一个对象依赖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);
【问题讨论】:
-
你问这是否是有效的 C# 代码?或者如果它比其他一些选项更可取?第一个问题的答案可以通过编译来测试。第二个问题的答案相当主观。
-
也许这是 CodeReview 堆栈交换的问题。
标签: c# dependency-injection domain-driven-design domain-model anemic-domain-model