Сериализация составных объектов

Я считаю Composite Oriented Programming и DCI интересными методами для использования в рамках отдыха, но столкнулся с проблемой. Можно ли сериализовать объект mixin и получить все его свойства? Например:

public class IHasOwner 
{ 
  string owner(); 
} 

public class HasEngine 
{ 
  string engine(); 
}

Допустим, мы создаем объект CarComposite с двумя вышеупомянутыми классами в качестве миксинов. Могу ли я десериализовать этот класс CarComposite, чтобы получить следующий xml?

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

Мне любопытно, как это обрабатывается в целом, но с пристальным вниманием к.NET, так как вы не можете десериализовать интерфейсы.

1 ответ

Решение

Я считаю, что в сервисах RESTful часто требуется модель представления или ресурса. Т.е. набор тупых типов данных, адаптированных для того, как вы хотите представить ресурс. Они не должны соответствовать объектам домена. Вы должны быть в состоянии отобразить между ними. Эта тупая модель ресурсов "проста" для сериализации.

Для сопоставления между объектами модели домена и сервиса AutoMapper может быть весьма полезен.

Другие вопросы по тегам