Та же проблема что и у Наташи - скажем так "совсем непросто" понять что же нужно сделать?
Мне помогло что Вы говорили в др темах, иначе я бы просто закрыл топик не дочитав и до половины.
Виноват
Ладно, если я правильно понял, "единица фабрики" - пул объектов одного типа.
Всё верно, просто вместо пула можно использовать и обычный класс.
Тогда первое что приходит в голову - а не повыкидывать ли нафиг большинство template выносящих мозг программиста "for nothing"? напр так
...
Эта фабрика для наследников базового класса. Мне она нравится.
C++ (Qt)
class Base : public AWebObjectPool<Base> {};
class A : public Base {};
class B : public Base {};
//QString в прошлом примере поставил, подумав, что будет проще в понимании
AWebObjectFactory<const char*, Base> factory;
factory.registerClass<A>("A");
factory.registerClass<B>("B");
Base *a = factory.create("A");
Base *b = factory.create("B");
Далее надо сосредоточиться на том как используется пул. Если заряжаются 2 или более объектов, то надо определить правила, который должен быть возвращен - пока информации об этом ноль.
Вот если глянуть на приведённый только что мною пример, то мне бы хотелось сделать, скажем как-то так:
C++ (Qt)
factory.registerClass<A>("A", 10);
factory.registerClass<B>("B", 100);
То есть предварительно создать 10 штук A и 100 штук B. Проблема в том, что регистрируемый класс может и не быть вовсе наследником класса пула. Это вообще произвольный класс, и мне хотелось бы это сохранить. Другими словами, нужно как-то определять, что для пула - могут быть параметры, а для любого другого класса - нет.