Проектирование модуля для работы с различными социальными сервисами
Здравствуйте. Хотя у меня есть некоторые соображения по поводу оптимальной архитектуры подобного модуля, я все же хочу посоветоваться с вами, поскольку не до конца уверен в правильности этих соображений.
Суть в том, что нужно спроектировать независимый модуль для работы с несколькими социальными сетями и сервисами через OAuth таким образом, чтобы этот модуль был легко расширяем (добавление новых сервисов) и подключаем.
Пока что я склоняюсь к использованию паттерна AbstractFactory, как самого оптимального паттерна для работы с одним интерфейсом и реализации общего поведения для семейств объектов.
Может я не до конца понял вопрос, но простое наследование от абстрактного класса не подойдет?
Новые сервисы — новые наследники.
А поверх этого фабрику городить или нет это уже как вам удобнее для более высокой абстракции. По-моему она тут идеально подойдет.