Вот моя проблема.
Я пытаюсь написать небольшой простой игровой движок (я делаю это, чтобы улучшить свои дизайнерские навыки). У меня есть Scene Object, который содержит все, что нужно API рендеринга для его рендеринга.
Естественно, я бы хотел, чтобы моя сцена была невосприимчива к будущим изменениям, а это означает, что будущие изменения в ней не будут нарушать ее интерфейс. Например, если я хочу, чтобы в будущем моя сцена имела функцию Fog, которую можно включать и выключать, я хочу иметь возможность добавлять ее, не нарушая интерфейс моей сцены.
Одна важная вещь заключается в том, что API рендеринга связывается со сценой через интерфейс (который, очевидно, называется «IScene»)
Мои мысли направлены на шаблон "Декоратор", кто-нибудь может предложить что-то более подходящее?