Per*_*der 5 c# orm dry automapper
我正在查看一个名为Automapper的库。我对此有一些担忧:
我们不想暴露我们的数据模型(好)。为什么数据模型应该与您的数据库非常相似?
使用轻量级 DTO 代替实体。(好的)
现在我需要将我的实体映射到这些 DTO。我尊重 DRY 原则吗?
有人可能会说 DTO 违反了 DRY,但如果这对您的情况有意义,那么我不会再三考虑。
与大多数编程最佳实践一样,DRY 并不是灵丹妙药。有时你必须妥协。在这种情况下,我认为违反 DRY 是完全可以接受的,以防止因将域详细信息泄露给不需要它的调用者而引起的问题(例如 N+1 延迟加载性能问题)。