我的应用程序中目前有一个域实体,该域实体通过wcf和restful api公开功能-其中的属性装饰有各种属性-例如SwaggerWCF,以及一些验证规则,例如[必选]。
现在这很好,但是我现在正在使用客户端库来简化服务的使用。我在这里遵循的典型模式是将DTO分解为一个单独的nuget包,然后由服务和客户端使用。
但是这些DTO很沉重-甚至它们都不是DTO。
如何将我可爱的POCOS公开为Dtos,然后在服务端添加更多内容?
我只能在前面的道路上看到重复的东西。...
答案 0 :(得分:0)
通常是要传输的较小位的DTO通常有两个用途,a)使数据传输更小,b)允许从内部工作中进行抽象以防止在需要时公开所有内容。
如果a)因为它们很大而不必担心,则b)在隐藏一些属性等方面仍然很有用,因此创建几乎重复的DTO可能是可以的,并且可以使用某种自动映射进行管理。
拥有DTO可以将这些问题分开,如果您需要提供客户端库,则可以更轻松地将它们提取到单独的程序包中。