Как бы вы структурировали кодовую базу, использующую несколько версий одного и того же API?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как бы вы структурировали кодовую базу, использующую несколько версий одного и того же API?

Сообщение Anonymous »


Изобразим, что у нас есть некоторое оборудование и API, версия которого зависит от версии операционной системы. Если операционная система обновлена, есть вероятность, что API изменился (конечные точки изменились, были удалены, URL-адрес переименован, ответ изменился, для тела запроса требуются новые параметры и т. д.).

Вы являетесь пользователем этого API, и вашей конечной целью является обратная совместимость (поддержка любой версии оборудования в вашем продукте).
[*]
Как бы вы использовали такой API?
[*]
Выполнить версию каждой конечной точки с запросом/ответом отдельно и написать обертку (антикоррупционный уровень) вокруг каждой из них?
[*]
Создать своего рода «сопоставитель запросов API», который формирует ваш запрос на основе версии API?
[*]
Случаи использования версий?
[*]
Внедрить способ выполнения конкретного запроса к определенным компонентам на основе версии API в корне композиции?

В настоящее время я разрабатываю варианты использования и в зависимости от версии API внедряю разные версии вариантов использования в определенные компоненты в корне композиции. Я также проверяю конечные точки и ответы на запросы версий, помещая другую версию конкретной конечной точки в отдельный пакет/каталог и присваивая ей имя в зависимости от версии API.

Управление версиями вариантов использования утомительно, поскольку одна конечная точка может использоваться в нескольких вариантах использования, поэтому, если она изменится, мне придется создавать новые версии для нескольких вариантов использования.

Очевидным решением было бы создать оболочку вокруг вызовов API, которая скрывает изменения и больше не учитывает варианты использования версий, но что, если конечная точка была удалена? добавлены новые параметры и т.д.? Мы не можем написать абстракцию вокруг такого динамического API.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»