Here is my problem.
I am trying to write a small simple game engine (I'm doing it in order to improve my design skills) . I'm having a Scene Object which hold everything the rendering API need in order to render it.
Naturally , I would like my scene to be immune to future changes , meaning future changes to it will not have to break its interface. For example If i'll want in the future my scene to have a Fog feature which can be turned on and off , I want to be able to add it without breaking my scene interface.
One important thing is that the Rendering API communicates with the Scene through an Interface (which obviously named "IScene)
My thoughts are going towards the "Decorator" Pattern , can anyone suggest something that might be more appropriate?