Здравствуйте, Михаил Можаев, Вы писали:
ММ>Привет всем!
ММ>Объясните, пожалуйста, зачем нужны фабрики классов?
Объекты должны быть созданы до того как мы начинаем использовать их интерфейсы. В С++ в этом случае мы пишем в коде что-либо подобное:
IA* pA = new CAHolder; // и дальше уже работаем с pA
В нашем случае оператор new можно назвать фабрикой классов. В COM тоже нужен механизм для создания экземпляров классов.
Что-то подобное
IA* pA = ClassFactoryObject.GetAObject(/*... Initialisation data ...*/);
И хотя COM может проделать работу по определению типа объекта используя информацию из Registry или тайп либины — все равно должен быть какой-то объект (или функция) который реально может создать требуемый класс. Такой объект называется фабрикой классов.
... << RSDN@Home 1.0 beta 6a >>