crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

wiz29
  опции профиля:
сообщение 16.9.2010, 9:56
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


Есть вопрос для обсуждения.
Имеется IFactory- что соответсвенно является некой фабрикой объектов, имеется IObject-интерфейс объекта, которые может создавать фабрика.
Примерный код (упрощенный вариант для фабрики)
class IFactory
{
       public:
            ...
            virtual IOBject* create(const typeId& objectTypeId) = 0;
            ...
};


Вопрос в следующем, насколько оправдано иметь указатель на объект создающей его фабрики в IObject? есть ли вообще смысл его там сохранять? (мое мнение нет смысла, но хотелось бы обсудить)
Поясню слова:
class IObject
{
       public:
            ...
            virtual IFactory* getFactory() = 0;
            ...
};

Извиняюсь за офтоп.
Причина редактирования: смелее пользуйся тегами
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
wiz29
  опции профиля:
сообщение 16.9.2010, 13:29
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 600
Регистрация: 7.7.2010
Из: Санкт-Петербург
Пользователь №: 1866

Спасибо сказали: 94 раз(а)




Репутация:   12  


наличие интерфейса к фабрике, чисто априорно предполагает, что реализаций этого интерфейса может быть несколько,
приведу пример: 1 . имеется интерфейс для реализации неких объектов IObject.
2. имеется интерфейс фабрики IObjectFactory для управления созданием , копированием, удалением IObject*.
Столкнулся с плагинной системой для реализации неких тулов, тул может в себе реализовать множество своих объектов IObject* и фабрику для управления ими IObjectFactory, что вполне логично. Приложение же, например, может, загружая несколько разных экземпляров IObjectFactory, создавать некое множество объектов порождаемых разными IObjectFactory.

Вот на уровне приложения может существовать некий обобщенный объект FactoryManager для конкретного типа интерфейсов фабрик и он, скорее всего, будет являтся синглтоном (я так понимаю ты именно это имел ввиду)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.6.2025, 17:50