2010-02-18 66 views
4

我正在看一个名为​​的图书馆。我对此有几点担忧:正在使用DTO和实体违反DRY原则?

  1. 我们不想公开我们的数据模型(好的)。为什么数据模型与您的数据库非常相似?

  2. 使用轻量级DTO而不是实体。 (GOOD)

  3. 现在我需要将我的实体映射到这些DTO。我是否尊重DRY原则?

回答

4

有人可能会争辩DTOs违反DRY,但如果它对您的情况有意义,那么我不会再三思。

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

0

取决于应用程序。事务处理应用程序,并根据业务逻辑需求,将数据模型公开给上层代码对于具有一定规模的项目是有意义的。我认为应用程序越大DRY就越重要,但我不太了解你提出这个问题的背景。

相关问题