JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=e3d51bc405118e18cb74d4566944946dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Klammerfunktion [Sprachneutral, Vererbungsdesign]

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 03.09.2007, 14:15    Titel: Klammerfunktion [Sprachneutral, Vererbungsdesign] Antworten mit Zitat

Hallo,

ich suche nach einem Designvorschlag für Vererbung, für folgendes Designproblem:

Ich möchte in einer Basisklasse erreichen, dass immer dann, wenn eine Funktion der Basisklasse oder einer von Ihr abgeleiteten Klasse aufgerufen wird eine boolische Variable auf Wahr gesetzt ist. Es muss zudem sichergestellt sein, dass wenn die Funktion verlassen wird (Aus welchem Grund auch immer, normal oder durch Abbruch, auch z.B. durch Ausnahme) diese Variable wieder auf Falsch zurückgesetzt ist.
Und dass, ohne in den geerbten Klassen Code zu schreiben.

Zweck: Ermittlung, ob irgend ein Aufrufer innerhalb einer Funktion ist. Eine weitere Funktion könnte z.B. abhängig von diesem Umstand anders handeln.

Für den Anfang muss es nicht Multithreadsave sein - weil dann bräuchte man ja mindestens einen Counter.

Wie gesagt, ich suche nur eine Idee, wie man sowas umsetzen kann, für C# werde ich es dann selbst implementieren können / müssen...

Hoffe auf Ideen,

AFE-GmdG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 03.09.2007, 15:02    Titel: Antworten mit Zitat

Ich würd wahrscheinlich versuchen, das via Template-Method-Pattern zulösen. Proxy-Pattern wäre eventuell auch eine Überlegung wert, aber das hängt vom Kontext ab.

Diesen "Hook" vor und nach Ausführung der eigentlich Funktion kapselst du in eine eigene Klasse, so kannst du das relativ elegant lösen. Exceptionsicherheit bekommst du via "RAII", also im bzw. als ersten Hook ein Objekt erzeugen, welches dir die Variable via Konstruktor setzt und dieses Objekt nach dem Ausführen der Funktion zerstören und die Variable im Destruktor zurücksetzen.

Ich weiß, meine Beschreibung klingt etwas wirr, wenn etwas unklar ist, frag am besten nochmal nach. ;)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum