Signals And Slots
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Ein allgemeiner Mechanismus für die Kommunikation zwischen Objekte. Ersetzt die Verwendung direkter Callback-Funktionen. So können aufrufende und aufgerufene Klasse ganz ohne direkte Bezugnahme aufeinander entwickelt werden. Insbesondere für das QtToolkit ist diese Art Ereignisse zu Dispatchen grundlegend: so wurde die Programmiersprache C++ erweitert und dem eigentlichen Compiliervorgang ein spezieller Präprozessorlauf vorgeschaltet.
Neben Signals and Slots werden Closures (BorlandVCL?) oder Callbacks (WinAPI?) oder der Zwang zur Ableitung (TurboVision?) eingesetzt. Das Konzept für Signale und Slots wie es Qt bietet hat diesen Alternativen gegenüber Vorteile:
- Möglichkeit von m-zu-n-Anbindungen (auch mehrere Signale in einem Slot, ein Signal in mehreren Slots zu behandeln)
- logische Entkopplung zur Entwicklungszeit (Signale und Slots von Objekten werden meist in übergeordneten Objekten verbunden)
- Möglichkeit zeitlicher Entkopplung (auch asynchrone Auslösung ist möglich)
- Überwachung der Gültigkeit der Endpunkte (hängende Zeiger werden nicht aufgerufen)
Natürlich gibt es auch Nachteile:
- Längere Zeiten zum Dispatchen von Ereignissen
- Notwendigkeit eines speziellen Präprozessor (C-Preprozessor ist zu schwach, unterschiedlicher Grad der Template-Unterstützung von Compilern würde PlattformNeutralität? gefährden)
KategorieOop KategoriePattern KategorieQt?
StartSeite | Neues | TestSeite | ForumSeite | Teilnehmer | Kategorien | Index | Hilfe | Einstellungen | Ändern
Text dieser Seite ändern (zuletzt geändert: 22. August 2010 12:45 (diff))