问题描述
|
我正在工作一个业务层(单独的程序集),其中将包含多个客户端应用程序中使用的各种业务实体。客户端应用程序之一是WCF应用程序,它将需要序列化这些实体。为了正确地序列化实体,必须添加用于数据协定或XML序列化的元数据,但是序列化要求可能会因应用程序而异。
显然,我需要将元数据与类定义分开。那么,如何为每个单独的应用程序将元数据添加到我的实体中?
解决方法
在WCF的讨论中,您实质上是在谈论DTO。公平地说,如果序列化不同,那么它就不是相同的DTO,因为DTO的全部目的是允许适当的序列化。所以我的答案是:有多个并行的DTO类代表不同API的需求,并在它们之间进行转换。
通过在运行时指定序列化程序,您也许可以发挥一些魔力,但这更加脆弱且难以配置。