Я ищу некоторые мысли о том, какие шаблоны дизайна использовать для моей проблемы, независимо от языка.Три похожих API - лучший дизайн?
Я обращаюсь к трем API-интерфейсам, которые имеют разные интерфейсы и функциональные возможности, но все они с той же целью возвращают мне информацию единообразным образом о том же типе контента - авторы блога.
Некоторые API выполняют именно то, что я хочу, для некоторых потребуется API + Screen Scraping и т. Д.
Очевидный выбор - это шаблон адаптера, но я хочу по-настоящему разобраться в дизайне этой вещи, и поэтому ваши мысли были бы очень благодарны!
Чтобы быть совершенно ясным, прямо сейчас я представляю один класс для каждой веб-службы, который делает как основной материал API, так и менее элегантный материал. Я предполагаю, что он возвращает однородные результаты в его адаптер. Я предполагаю, что адаптер использует такой метод, как «Поиск», а затем перенаправляет его на соответствующий метод в API и возвращает результаты, которые будут выглядеть одинаково независимо от того, какая служба была вызвана.
Если это звучит как домашнее задание, это - но это тот, который я назначил себе, чтобы выучить какой-нибудь классный образец шаблона. Правильно ли адаптер? Любые другие хорошие варианты?
Заранее благодарен!
ОБНОВЛЕНИЕ: Несмотря на то, что модели Адаптера и Фасада, как мне кажется, разделяют много общего, Павель Дида указывает ниже, что то, что я описываю, - это действительно Фасад, а не Адаптер. Согласен. Кто-нибудь думает, что есть лучший вариант, чем «Фасад», предполагая, что с течением времени растет количество API?
Еще раз спасибо.
Я склонен не согласиться. Все зависит от размера проекта. Если (а) он знает, что проект будет развиваться в какой-то монстр с точки зрения размера, на самом деле нужны хорошие абстракции и их следует использовать основательно. –
Спасибо, оба! Сейчас я смотрю в Фасад. – user277127