crossplatform.ru

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

FakeMoNEy
  опции профиля:
сообщение 3.7.2013, 22:43
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 27.11.2012
Пользователь №: 3612

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




Репутация:   0  


Читаю С. Дьюхерста С++ Священные знания.
Там объясняется фабричный метод.
Вроде понятно обьект генерирует информацию о себе при этом мы не заботимся о том кто он конкретно.
Там приведен пример
class Temp : public Employee {
   public:
      //...
      TempInfo *genInfo() const
         { return new TempInfo( *this ); }
      //...
};

Temp это служащий наследуемый от Employee при этом он может генерировать информацию о себе.
class Employee {
   public:
      //...
      virtual HRInfo *genInfo() const = 0; // Фабричный метод
      //...
};

Employee *e = getAnEmployee();
//...
HRInfo *info = e>genInfo();         // используется Фабричный метод

1)TempInfo должен быть наследником HRInfo?
2)Разве все равно не придется спросить тип служащего по какой-то внутренней информации, я имею ввиду не проще было бы ввести идентификатор(номер для типа служащего) чтобы просто определять кто он(рабочий, секретарь, водитель), хотя у разных рабочих разные поля, но тогда придется спросить о его типе как использовать объект о котором мало знаешь, чем это удобно?
3)Приведите пожалуйста пример фабрики другого плана может более наглядного, читаю теорию опыта пока мало но бездумно использовать патерны не хочу, объясните суть пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


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