хороший шаблон дизайна ОО для внешних сервисных звонков - PullRequest
4 голосов
/ 02 мая 2011

Привет, ребята, вот сделка:

Я звоню внешним службам в три этапа: Составьте запрос, отправьте его и получите результат, извлеките результат.

Теперь есть нескольковнешние сервисы, которые я буду использовать, основываясь на разных стеках приложений (например, SOAP и REST. Как бы выглядел хороший OO-дизайн для этой ситуации?

Мои конкретные проблемы: у меня могут быть интерфейсы для RequestBuildersи ResponseParsers, и ServiceCaller, который делегировал бы очевидные шаги для реализаций интерфейсов. Но это означает, что можно иметь ServiceCaller, который формирует запросы для сервиса A и ожидает ответы в формате сервиса B.

Что такоехороший OO шаблон для этого вообще?

Спасибо!

1 Ответ

3 голосов
/ 02 мая 2011

Вы можете взглянуть на Factory Method .Метод фабрики Create принимает тип требуемого объекта (Request из ServiceA) и возвращает интерфейс IRequest.Вся реализация запроса требуется для реализации IRequest.После создания этого слоя вы можете создать сервисный слой, содержащий компоновщики для соответствующих типов Request и Response.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...