Сериализация составных объектов
Я считаю 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 может быть весьма полезен.