Tag: anemic domain model

如果您被迫使用Anemic域模型,那么您在哪里放置业务逻辑和计算字段?

我们当前的O / RM工具并不真正允许丰富的域模型,因此我们不得不在各地使用贫血(DTO)实体。 这工作得很好,但我仍然在努力放置基于对象的基本业务逻辑和计算字段。 当前图层: 介绍 服务 知识库 数据/实体 我们的存储库层具有大多数基本的提取/validation/保存逻辑,尽管服务层执行了许多更复杂的validation和保存(因为保存操作也执行日志记录,权限检查等)。 问题是在哪里放置这样的代码: Decimal CalculateTotal(LineItemEntity li) { return li.Quantity * li.Price; } 要么 Decimal CalculateOrderTotal(OrderEntity order) { Decimal orderTotal = 0; foreach (LineItemEntity li in order.LineItems) { orderTotal += CalculateTotal(li); } return orderTotal; } 有什么想法吗?