C# 正在使用DTO';s和实体违反了DRY原则?
我在看一个叫做。我对此有一些担忧:C# 正在使用DTO';s和实体违反了DRY原则?,c#,orm,dry,automapper,C#,Orm,Dry,Automapper,我在看一个叫做。我对此有一些担忧: 我们不想公开我们的数据模型(好)。为什么数据模型应该与数据库非常相似 使用轻量级DTO而不是实体。(好) 现在我需要将实体映射到这些DTO。我是否尊重干燥原则 有人可能会说DTO违反了DRY,但如果它对您的情况有意义,那么我不会再三考虑 像大多数编程最佳实践一样,DRY并不是万能的。有时候你不得不妥协。在这种情况下,我认为违反DRY是完全可以接受的,这样可以防止将域详细信息泄漏给不需要它的调用方而引起的问题(例如N+1延迟加载性能问题)。取决于应用程序。事务应
有人可能会说DTO违反了DRY,但如果它对您的情况有意义,那么我不会再三考虑
像大多数编程最佳实践一样,DRY并不是万能的。有时候你不得不妥协。在这种情况下,我认为违反DRY是完全可以接受的,这样可以防止将域详细信息泄漏给不需要它的调用方而引起的问题(例如N+1延迟加载性能问题)。取决于应用程序。事务应用程序,并根据业务逻辑需求,将数据模型公开给上层代码对于一定规模的项目是有意义的。我认为应用程序越大,DRY就越重要,但我不太了解您提出这个问题的背景