Паттерн «Приспособленец» (Flyweight)
Тысячи объектов делят всё общее между собой, и каждый хранит только то, чем отличается.
Паттерн делит состояние объекта надвое: внутреннее (меш, текстура и характеристики для вида дерева) — общее и хранится один раз, и внешнее (позиция, масштаб, здоровье) — у каждого экземпляра своё. Лес из десяти тысяч деревьев превращается в десять тысяч маленьких записей, указывающих на одни и те же тяжёлые данные. Идею описали Пол Колдер и Марк Линтон в 1990 году для рендеринга текста в InterViews, где каждый глиф был объектом, а название ей дала «Банда четырёх» в 1994-м.
В играх паттерн настолько фундаментален, что его впитало железо: GPU-инстансинг — это «приспособленец» с буфером внешнего состояния и одним draw call.