Поскольку цели Loki
кажутся в основном образовательными, я бы сказал, что статического полиморфизма можно было бы избежать просто ради ясности.При обучении шаблонам проектирования, таким как абстрактная фабрика, отношения между классами являются наиболее важным аспектом.Реализация полиморфизма в этом контексте выглядит как вторичная проблема, связанная с реализацией.
Правда, статический полиморфизм может быть более эффективным, но он снижает читабельность кода.если бы вы часто создавали большие объекты, вы бы выиграли от использования статического полиморфизма.И это очень верно, но я думаю, что Локи не предназначен для использования в таком сценарии.Его основная цель - обучение.
Взгляните на исходный код Boost.Factory , который может помочь.На самом деле, я бы лучше изучил современный C ++ из исходного кода Boost;правда, Локи, как говорят, заложил основы для Boost, но имейте в виду, что Boost получил гораздо большее использование и, таким образом, пересматривал и критиковал гораздо больше.