Форум программистов, компьютерный форум CyberForum.ru

Объясните пожалуйста паттерн фабрика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Запрос информации о пользователь*ских соединениях с Terminal Server http://www.cyberforum.ru/cpp-beginners/thread917317.html
Hi there, Есть проблемма, нужно получить информацию относительно залогиненого пользователя в терминале TSRV 2003-2008(неважно, хоть ХП с удалённым подключением) с этой задачей как по мне справляется в полной мере следующий набо ЦМДшных команд: net use /user:login \\192.168.1.1\IPC$ password query user login_name /server:192.168.1.1 Но мне очень хотелось бы узнать какими методами это...
C++ Использование одной структуры для линейного однонаправленного и двунаправленного списков Собираюсь использовать в программе линейный однонаправленный список и линейный двунаправленный список. Можно ли использовать одну структуру для этих двух типов списков? Т.е. указатель previous в линейном списке будет пустовать. В программе будет реализовываться стэк(в методичке написано, что лучше через однонаправленный) и очередь(там же написано, что лучше через двунаправленый). struct element... http://www.cyberforum.ru/cpp-beginners/thread917298.html
C++ Как открыть любой файл по желанию пользователя
Необходимо открыть файл по желанию пользователя, необходимо чтоб текст из файла отоброжался на консоли. вот код // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #define _CRT_SECURE_NO_WARNINGS #include "stdafx.h"
C++ Считать с файла строку типа char до знака окончания строки
Всем доброго времени суток. Мне нужно считать с файла строку типа char до знака окончания строки ( '\0'). Как мне это сделать? Я использую MS Visual Studio 2010. Для считывания с файла я использую freopen("input.txt","r",stdin). Пишите если знаете как оптимизировать код. Заранее спасибо! ;-) Код: #include <stdio.h>; #include <iostream>;
C++ Посоветуйте литературу по STL http://www.cyberforum.ru/cpp-beginners/thread917276.html
Посоветуйте хорошую литературу по стандартной библиотеке с заданиями, а то начал читать "Николай Джосьютис The C++ Standard Library. A Tutorial and Reference", но тяжело потому что нету заданий, что бы закрепить прочитанное!
C++ Очередь как кольцевой массив Помогите, пожалуйста, написать программу: "очередь как кольцевой массив, найти кол-во положительных элементов". Знаю, что можно найти решение поставленной задачи, но я видел столько вариантов подхода к этим очередям, что уже мозг сломал... подробнее

Показать сообщение отдельно
FakeMoNey
1 / 1 / 1
Регистрация: 27.11.2012
Сообщений: 23
03.07.2013, 23:43     Объясните пожалуйста паттерн фабрика
Читаю С. Дьюхерста С++ Священные знания.
Там объясняется фабричный метод.
Вроде понятно обьект генерирует информацию о себе при этом мы не заботимся о том кто он конкретно.
Там приведен пример
Код
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)Приведите пожалуйста пример фабрики другого плана может более наглядного, читаю теорию опыта пока мало но бездумно использовать патерны не хочу, объясните суть пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru