У меня есть приложение ASP.NET MVC, которое требует связи со сторонним поставщиком через веб-сервис. Сервис достаточно прост. Он предоставляет единственный метод, который принимает запрос XML и предоставляет ответ XML.
Существуют различные типы сообщений запросов XML, которые могут быть отправлены, и они всегда имеют соответствующий соответствующий формат ответа. Их можно рассматривать как серию пар запрос / ответ. Единственный раз, когда возвращаемый XML-ответ различается по формату для конкретного типа запроса, - это когда произошла ошибка на стороне стороннего поставщика (например, были переданы неверные данные).
Когда опубликовано представление MVCкод контроллера вызовет метод сервисного уровня, например ProcessStep1 (модель). Этот метод (или то, что вызывает этот метод) должен будет проверить данные в переданной модели и определить, какую пару запрос / ответ построить.
Аналогично, после получения специального кода ответа XML для этого ответаДля повторного заполнения модели нужно будет выполнить type (прежде чем в конечном итоге передать его в мое представление MVC). Ответ связан с этим конкретным типом запроса, но если возникли ошибки, потребуется выполнить другой код.
Я знаком с некоторыми концепциями шаблонов проектирования, но у меня ограниченный опыт их использования в реальных сценариях. ,Я уверен, что они могли бы быть использованы здесь, чтобы помочь сохранить код в чистоте и порядке.
Кто-нибудь может предложить структуру для достижения моей цели? Какие шаблоны были бы полезны здесь, и что было бы чистым способом решения этой проблемы (строитель, фабрика, посредник)? Пожалуйста, все предложения приветствуются.