我在看一个名为 Automapper 的图书馆。我对此有一些担忧:

  • 我们不想暴露我们的数据模型(GOOD)。为什么数据模型应该与您的数据库非常相似?
  • 使用轻量级 DTO 而不是您的实体。 (好)
  • 现在我需要将我的实体映射到这些 DTO。我是否尊重 DRY 原则?
  • 最佳答案

    有人可能会争辩说 DTO 违反了 DRY,但如果它对您的情况有意义,那么我不会三思而后行。

    DRY 与大多数编程最佳实践一样,不是 Elixir 。有时你不得不妥协。在这种情况下,我认为违反 DRY 是完全可以接受的,以防止将您的域详细信息泄露给不需要它的调用者(例如 N+1 延迟加载性能问题)。

    关于c# - 使用 DTO 和实体是否违反了 DRY 原则?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2285376/

    10-11 02:25