Samodelkin, интересная идея,но я их задумывал несколько для других целей.
состоянее объекта определяется описателем в момент конструирование. само конструирование весьма дорого, я пожалуй перейду к шрифтам, маслить абстрактно не хватает вычислительной мощи)))
вобщем допустим у нас есть некий описатель шрифта для гуй
FontDesc gui_fond_dsc("Impact");
gui_fond_dsc.size = 16;
gui_fond_dsc.bold = true;
|
и шрифт там для игры самой
FontDesc game_font_dsc("Verdana");
game_font_dsc.size=12;
|
так вот, в игре должны быть ДВА разных шрифта обязательно. потому, что шрифт это не совсем не описатель это самостоятельная сущность. Она будет долго конструироваться, так как нужно не только загрузить сам шрифт (wglUseOutline, FT2_LoadFont, и LoadTexture) - чтобы получить сам растр(векторные данные) шрифта довольно долго будут выполняться. А кроме этого нужно еще составить кэш-текстуру для букв из юникода (если все они не влезут в одну текстуру), можно кешировать часто выводимые фразы, вобщем можно много чего сделать в конструкторе.
то, что ты предлагаешь, кстати, напоминает паттерн
Приспособленец (Flyweight)
http://www.citforum.ru/SE/project/pattern/#3.1.8