Рекомендации по обратной совместимости API

Я работаю над приложением для iPhone/iPad/Android, которое взаимодействует с JSON API.

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

Как лучше всего выполнить такое требование? Я мог бы выполнять проверки по всему коду:

if (APIVersion == 1) {

} else if (APIVersion == 2) {

} else if (APIVersion == ....) {

}...

Но меня беспокоит масштабируемость этого подхода. На ум приходит фабричный метод, но я не уверен, как далеко это меня заведет.

Спасибо, Марка

13
задан linuxbuild 24 May 2012 в 06:59
поделиться