Я использую несколько служб ASP.NET 4, WCF в C # и хочу узнать, как лучше отделить мой код от структуры WCF.Если это не слишком большая работа, а клиенту, вероятно, все равно.
Я создал фасадный слой, чтобы мой пользовательский интерфейс WebForms мог общаться с ним, используя простые простые типы, такие как string, int и datetime.Фасад генерирует и считывает объекты Request / Response, требуемые WCF.Я читаю объект Response и преобразую его в более простой объект Presentation для использования клиентом.Однако объект Response возвращает некоторые сложные типы объектов, такие как OrderHistory, который содержит OrderItem, который сам по себе содержит, например, DeliveryAddress.
Теперь я должен воссоздать все эти сложные объекты как виды?т.е. OrderPresentation содержит IEnumerable-OrderHistoryView-, который содержит IEnumerable-OrderItemView-, который содержит DeliveryAddressView, или я неверно истолковал это?
Для некоторых более простых объектов я смог использовать AutoMapper, но не уверен, как или нужно ли применять его к вложенным сложным объектам.Может быть, мне не стоит беспокоиться об этом, а просто привязать объекты фасада и презентации к модели WCF?
Помогите, пожалуйста?какие-нибудь хорошие учебные примеры по этому поводу?
Я получаю где-то:
public static IList<OrderHistoryView> ConvertToOrderHistoryView(this OrderHistory[] orderHistory)
{
return Mapper.Map<OrderHistory[], IList<OrderHistoryView>>(orderHistory);
}
и
Mapper.CreateMap<OrderHistory, OrderHistoryView>()
.ForMember(dest => dest.Items, opt => opt.MapFrom(src => src.Items));