Hi,
ich bin gerade dabei mein jetziges Projekt etwas aufzupolieren.
Zur Zeit sieht es so aus,
dass ein Gerätekontext sich selber über eine statische Methode createDevice(Window& window, Config config = Config::default()) erstellt.
Diese "createDevice"-Methode hat jede meiner beiden Implementationen (WGLContext, GLXContext; beide haben identische Methodendeklarationen aber unterschiedliche Implementationen).
Ich fände es besser, wenn diese beiden Klassen jeweils von einem Interface "IContext" erben, damit diese die gleichen Methoden aber mit unterschiedlichen Implementationen haben.
Das geht jedoch nicht, da man keine Methoden haben kann, die sowohl statisch und virtuell sind.
Ist es also besser die Factory in eine eigene Klasse auszulagern?
LG Julien
P.S.: Ich nutze das Factory-Pattern an dieser Stelle, da das Instanzieren unter Umstände schief gehen kann und dann einfach ein "nullptr" zurückgegeben werden soll.
I write my own game engines because if I'm going to live in buggy crappy filth, I want it to me my own - Ron Gilbert