Привет.
Меня интересует структура
одного приложения (
организация системы доступа к api) для
нескольких соц. сетей.
К примеру мы выяснили в какой соц сети запущено приложение.
Дальше нам необходимо запостить на стену (vk)/ленту (ok) сообщение.
Как это делаю я.
Создал интерфейс iSocialManager и 2 Класса, которые его имплементируют: VKManager и OKManager.
iSocialManager - содержит весь набор методов, которые реализуют VKManager и OKManager.
Меня смущает то, что в Классе VKManager есть метод (к примеру getImageUploadServer), который не используется в OKManager тем не менее я вынужден его создать в OKManager (хоть и пустым).
Выходит, что OKManager содержит пустые методы, которые используются в VKManager и наоборот.
Как это выглядит на AS:

Код AS3:
if(this.socialType == 'vk')
{
var socialManager:ISocialManager = new VKManager();
}
else if(this.socialType == 'ok')
{
var socialManager:ISocialManager = new OKManager();
}
socialManager.someFunction();
В голове есть второй вариант:

Код AS3:
if(this.socialType == 'vk')
{
var vkManager:VKManager = new VKManager();
}
else if(this.socialType == 'ok')
{
var okManager:OKManager = new OKManager();
}
// некое оповещение
function onShareButtonClick():void
{
if(this.socialType == 'vk')
{
// публикация на стену
vkManager.wallPost();
}
else if(this.socialType == 'ok')
{
// Публикация в ленту
okManager.streamPost();
}
}
Какой метода "красивее"? Как вы решаете эту задачу?
Не делать, ведь, 2 флешки для 2-х соц сетей.
Спасибо.