![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Pro100MoNEy |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 7.11.2010 Репутация: нет Всего: нет |
Читаю С. Дьюхерста С++ Священные знания.
Там объясняется фабричный метод. Вроде понятно обьект генерирует информацию о себе при этом мы не заботимся о том кто он конкретно. Там приведен пример
Temp это служащий наследуемый от Employee при этом он может генерировать информацию о себе.
1)TempInfo должен быть наследником HRInfo? 2)Разве все равно не придется спросить тип служащего по какой-то внутренней информации, я имею ввиду не проще было бы ввести идентификатор(номер для типа служащего) чтобы просто определять кто он(рабочий, секретарь, водитель), хотя у разных рабочих разные поля, но тогда придется спросить о его типе как использовать объект о котором мало знаешь, чем это удобно? 3)Приведите пожалуйста пример фабрики другого плана может более наглядного, читаю теорию опыта пока мало но бездумно использовать патерны не хочу, объясните суть пожалуйста. |
||||||
|
|||||||
xvr |
|
||||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Да
Ну собственно HRInfo это он и есть. В идеале при использовании полиморфизма нам вообще не надо знать конкретный тип служащего, любой наследник Employee должен сам знать о себе все, что надо. А мы должны знать только то, что доступно через базовый класс Employee
Например, вы делаете библиотеку для вычисления выражений, заданных в виде строки (пусть это будет встраиваемый куда то интерпретатор). И вы хотите дать возможность пользователю этой библиотеки добавлять в нее любые функции (по имени). Библиотека выдает из строки дерево разбора (AST). Вы заводите абстрактный узел для функции -
Это сообщение отредактировал(а) xvr - 4.7.2013, 09:42 |
||||||||||||||
|
|||||||||||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |