10

我有一个使用 Web Api 构建的聊天应用程序后端,我将几个数据库实体直接暴露给客户端。我想知道将实体映射到 DTO 是否有任何积极意义,或者我是否应该像现在一样继续公开实体。只是为了澄清一下,我不是在问 DTO 与非 DTO 的一般问题,而是在这种情况下使用它的优点,因为实体中的大多数字段可能会被客户端使用。

4

2 回答 2

15

是的,如果这是一个由一个人开发的小型应用程序并且您只有几天的时间来完成它,您可以公开您的实体。

如果您打算构建一个未来可能会成长的应用程序,您应该考虑使用 DTO,因为域实体对于数据的表示并不是最佳的。域实体总是或多或少,而不是您在客户端所需要的。

您可以使用名为AutoMapper的工具将域实体映射到 DTO。

一些演示: http: //www.codeproject.com/Articles/61629/AutoMapper

于 2013-01-14T07:00:18.510 回答
5

与任何其他应用程序具有相同的优势。您的应用程序没有特定的优势。使用 DTO 本质上是一种解耦练习,将属性与方法分离。目前您正在传递数据库对象。这样做可能意味着你传递的比要求的多,暴露的比需要的多。您还暗示了很多,操作是什么以及如何进行的。再说一遍,你要从分裂的努力中得到什么?

于 2013-01-14T07:05:49.853 回答