Реализуйте IExtensibleDataObject в Базовом классе - PullRequest
1 голос
/ 12 января 2010

В настоящее время у нас есть несколько служб WCF, которые предоставляют доступ к нашей модели домена напрямую. Другими словами, у нас нет слоя DTO для отображения между нашим доменом и сервисными слоями. У меня нет выбора, кроме как напрямую декорировать наши доменные объекты с помощью [DataContract] и [DataMember]. Я хочу реализовать IExtensibleDataObject на всех наших объектах домена, которые выставлены на провод. Кто-нибудь видит что-то не так с реализацией IExtensibleDataObject в базовом классе? Так что я бы имел:

[DataContract]
public EntityBase:IExtensibleDataObject{///IExtensibleDataObject Impl}

[DataContract] 
public Person:EntityBase{}

[DataContract]
public Employee:Person{}

Заранее спасибо

1 Ответ

1 голос
/ 12 января 2010

Спасибо, Мэтт. Думаю, я знаю, что это работает нормально, но мои вопросы больше связаны с дизайном SOA. Я знаю, что в мире ОО это просто прекрасно, но так как мои доменные объекты также служат DTO, я беспокоюсь, что добавление этой цепочки наследования приведет к проблемам в будущем. Кто-нибудь еще реализует IExtensibleDataObject? Если да, реализуете ли вы IExtensibleDataObject для всех ваших контрактов данных или для базового класса?

...