Фабричный метод без размещения в динамической памяти
|
|
Суббота, 29 Ноября 2014 г. 00:35
+ в цитатник
У классической реализации фабричного метода на C++ есть один существенный недостаток — используемый при реализации этого шаблона динамический полиморфизм предполагает размещение объектов в динамической памяти. Если при этом размеры создаваемых фабричным методом объектов не велики, а создаются они часто, то это может негативно сказаться на производительности. Это связанно с тем, что во первых оператор
new
не очень эффективен при выделении памяти малого размера, а во вторых с тем что частая деаллокация небольших блоков памяти сама по себе требует много ресурсов.
Для решения этой проблемы было бы хорошо сохранить динамический полиморфизм (без него реализовать шаблон не получится) и при этом выделять память на стеке.
Если вам интересно, как это у меня получилось, добро пожаловать под кат.
Читать дальше → http://habrahabr.ru/post/244497/
Метки:
ООП
Проектирование и рефакторинг
c++
Ненормальное программирование
c++11
фабричный метод
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-