Название: [РЕШЕНО] Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 20, 2012, 21:02 Хочу использовать вот такой класс пула объектов
awebobjectpool.h Код
... совместно с такой вот фабрикой (состоит из 3-х классов): awebabstractobjectconstructor.h Код
awebobjectconstructor.h Код
awebobjectfactory.h Код
Вопрос в том, что у пула есть возможность указать количество объектов к предварительному созданию. Но, видимо под вечер, не могу сообразить, как мне этот параметр через фабрику в пул прокинуть - AWebObjectPool::initialize(int count = 1) ? З.Ы. Ну и чтобы было понятно, как всё это хозяйство используется: Код
Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 20, 2012, 21:32 На всякий случай во вложении эти классы, если в лом рассматривать мою простыню :)
Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 20, 2012, 23:42 Наверное вариантов других нет и надо в фабрике поддержку параметров как-то реализовывать
Название: Re: Интеграция фабрики с пулом объектов Отправлено: Igors от Июнь 21, 2012, 11:10 Та же проблема что и у Наташи - скажем так "совсем непросто" понять что же нужно сделать? :) Мне помогло что Вы говорили в др темах, иначе я бы просто закрыл топик не дочитав и до половины.
Ладно, если я правильно понял, "единица фабрики" - пул объектов одного типа. Тогда первое что приходит в голову - а не повыкидывать ли нафиг большинство template выносящих мозг программиста "for nothing"? напр так Код Далее надо сосредоточиться на том как используется пул. Если заряжаются 2 или более объектов, то надо определить правила, который должен быть возвращен - пока информации об этом ноль. Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 21, 2012, 11:29 Та же проблема что и у Наташи - скажем так "совсем непросто" понять что же нужно сделать? :) Мне помогло что Вы говорили в др темах, иначе я бы просто закрыл топик не дочитав и до половины. Виноват :)Ладно, если я правильно понял, "единица фабрики" - пул объектов одного типа. Всё верно, просто вместо пула можно использовать и обычный класс.Тогда первое что приходит в голову - а не повыкидывать ли нафиг большинство template выносящих мозг программиста "for nothing"? напр так Эта фабрика для наследников базового класса. Мне она нравится.... Код
Далее надо сосредоточиться на том как используется пул. Если заряжаются 2 или более объектов, то надо определить правила, который должен быть возвращен - пока информации об этом ноль. Вот если глянуть на приведённый только что мною пример, то мне бы хотелось сделать, скажем как-то так:Код То есть предварительно создать 10 штук A и 100 штук B. Проблема в том, что регистрируемый класс может и не быть вовсе наследником класса пула. Это вообще произвольный класс, и мне хотелось бы это сохранить. Другими словами, нужно как-то определять, что для пула - могут быть параметры, а для любого другого класса - нет. Название: Re: Интеграция фабрики с пулом объектов Отправлено: Igors от Июнь 21, 2012, 11:44 То есть предварительно создать 10 штук A и 100 штук B. Проблема в том, что регистрируемый класс может и не быть вовсе наследником класса пула. Это вообще произвольный класс, и мне хотелось бы это сохранить. Другими словами, нужно как-то определять, что для пула - могут быть параметры, а для любого другого класса - нет. Создайте еще один registerClass с параметром числа элементов пула - его и подадите в конструктор.Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 21, 2012, 11:46 Может быть нужно унаследовать новый класс от AWebAbstractObjectConstructor по типу того, как сделан AWebObjectConstructor, и уже в этом новом классе как-то разрулить?
Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 21, 2012, 11:49 Создайте еще один registerClass с параметром числа элементов пула - его и подадите в конструктор. Да, я поначалу так и думал сделать, но AWebObjectConstructor ничего не знает о том, кого он создаёт, и есть ли у конструктора этого класса вообще какие-либо параметры. Наверное как-то всё же через наследование только.Название: Re: Интеграция фабрики с пулом объектов Отправлено: alexis031182 от Июнь 21, 2012, 12:09 Ёлки зелёные, ступил, так и надо было сделать через наследование ;D Спасибо, Игорь :)
|