A lot of discussions, like this and this, go with RICH DOMAIN MODEL
and there are 2 strong reason about amenic, like 1 and 3:
Now let's say that I need to make sure that I need to validate that the product exists in inventory and throw exception if it doesn't.
so there is a question: If we don't need an object to be dependent on ISomeRepository
like service, can we just make this:
public void Order.AddOrderLine(IEnumerable<Product> products, Product product)
{
if(!prosucts.Contains(product))
throw new AddProductException
OrderLines.Add(new OrderLine(product));
}
and call it like this:
Order.AddOrderLine(ISomeRepository.GetAll(), product);