Serialization 序列化组合对象

Serialization 序列化组合对象,serialization,composite,mixins,cop,Serialization,Composite,Mixins,Cop,我认为面向组合编程和DCI是有趣的技术 在rest框架内使用,但遇到了问题。 是否可以序列化一个mixin对象并获取它的全部信息 财产?例如: public class IHasOwner { string owner(); } public class HasEngine { string engine(); } 假设我们制作一个CarComposite对象,上面有两个类 混血儿。我可以反序列化这个CarComposite类以获得 以下xml?: <CarCom

我认为面向组合编程和DCI是有趣的技术 在rest框架内使用,但遇到了问题。 是否可以序列化一个mixin对象并获取它的全部信息 财产?例如:

public class IHasOwner 
{ 
  string owner(); 
} 

public class HasEngine 
{ 
  string engine(); 
}
假设我们制作一个CarComposite对象,上面有两个类 混血儿。我可以反序列化这个CarComposite类以获得 以下xml?:

<CarComposite> 
   <owner></owner> 
   <engine></engine> 
</CarComposite> 

我很好奇这是如何处理的一般,但与密切的关系
请注意.NET,因为您不能反序列化接口

我发现在RESTful服务中经常需要视图或资源模型。即,一组为您想要公开资源的方式定制的哑数据类型。这些不需要匹配域对象。不过,您确实需要能够在两者之间进行映射。哑资源模型“容易”序列化


对于域和服务模型对象之间的映射,AutoMapper可能非常有用

我想您可以在System.Xml类的顶部手动滚动序列化程序,对吗?你能详细解释一下为什么这不能解决你的问题,以及你是如何从C#中的mixin构造复合物的吗?我可以使用动态代理或重新混合来构造复合物。我希望能够从各种对象组成我的域对象,而不是使用继承。与Qi4J的功能类似。我想它需要一个定制的序列化程序。我正在研究混合是否可以和Rest一起使用,比如OpenRasta。也许答案是将组成的域对象映射到通过继承创建的资源。返回的是资源,而不是域。这样资源就可以序列化了。我发现在RESTful服务中经常需要视图或资源模型。即,一组为您想要公开资源的方式定制的哑数据类型。这些不需要匹配域对象。不过,您确实需要能够在两者之间进行映射。哑资源模型“很容易”序列化,我们的想法是一样的。把这个作为答案,这样我就可以相信你了。