所以我开始考虑将EF与POCO一起使用并将DTO通过线路传输到我的WCF客户端。
看起来这是一个很好的架构设计,可以使用DTO而不是将POCO发送到客户端。
所以我正在阅读它并且很多时候它提到使用适配器模式将POCO转换为DTO。
我似乎找不到任何描述用于POCO =>的适配器模式的文章。 DTO。
有人可以对此有所了解吗?
答案 0 :(得分:3)
Adapter是具有确切含义的GoW模式。您不需要特殊的文章来阅读在POCO和DTO之上使用它(它与任何其他类一样)。但我认为你实际上并不想要一个真正的适配器。你想要一些将POCO转换为DTO的东西,反之亦然。许多开发人员正在使用名为AutoMapper的非常好的库。我通常不使用适配器或AutoMapper。相反,我的DTO有静态方法ToPoco
和FromPoco
- 它是愚蠢的,它写的更多,但每个人都理解它。
答案 1 :(得分:1)
这post谈到了两者的纯洁性。
但就将它们从一个转换为另一个而言,我过去曾使用过扩展方法。
所以在通过网络发送POCO之前,我有类似的东西。
accountPoco.toDTO()
将其转换为WCF datacontract obj,序列化并通过线路发送。
另一方面我有
accountDto.toPOCO()
将其转换回POCO。
这不是最优雅的,但它确实有效。