Показать сообщение отдельно
Старый 10.11.2011, 11:52
Art_133 вне форума Посмотреть профиль Отправить личное сообщение для Art_133 Посетить домашнюю страницу Art_133 Найти все сообщения от Art_133
  № 1  
Ответить с цитированием
Art_133
 
Аватар для Art_133

блогер
Регистрация: Feb 2007
Адрес: Москва
Сообщений: 538
Записей в блоге: 2
Отправить сообщение для Art_133 с помощью Skype™
По умолчанию Одно приложение для нескольких соц. сетей

Привет.
Меня интересует структура одного приложения (организация системы доступа к 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-х соц сетей.
Спасибо.