frei verfügbare Klasse
-
Hallo zusammen,
in meinem aktuellen Projekt will ich eine Klasse implementieren, die als Cache dient. Hierzu muss sie von vielen anderen Klassen erreichbar sein.Da der C++Builder Forms direkt in der Projekt.cpp erstellt und somit für alle anderen Klassen erreichbar macht, wollte ich hier mal fragen, ob es eine Möglichkeit gibt, dieses mit Units zu machen.
Da das Projekt inzwischen schon recht groß ist, nutze ich Callback-Funktionen, um die Klassen "unabhängig" von einander zu machen. Das verringert die Compilezeit. Da diese Cache-Klasse aber von so vielen anderen Klassen genutzt wird, wäre es sehr aufwändig, dieses für alle Methoden zu implementieren.
Ich hoffe, ihr versteht was ich genau meine und vielleicht hat jemand von euch ja eine gute Idee, wie man das realisieren könnte.
MfG
DarkGuardian
-
Hat sich erledigt.
Es ist zwar nicht unbedingt schön, aber ich habe in der Projket.cpp das Objekt erzeugt und am Ende auch wieder gelöscht.
Dazu beinhaltet die Klasse einen Pointer auf seinen eigenen Typen, welcher als extern definiert wurde. Dieser Pointer wird in der Projekt.cpp gesetzt und ist somit für alle anderen Klassen erreichbar (nachdem diese die Header-Datei includieren).Bei besseren Ideen postet sie bitte hier, denn ganz überzeugt bin ich von dieser Variante nicht.
-
Hallo,
Du meinst du hast einen Pointer auf eine Instanz dieser Cash-Klasse, der dann überall verwendet wird? Hier bietet sich evtl das Entwurfsmuster Singleton an. Hier wird garantiert, dass es nur eine Instanz gibt welche beim ersten Aufruf initialisiert wird. Bekannt machen mußt du den Typ natürlich trotzdem überall.
Ciao