Befehlsmuster

In der objektorientierten Programmierung, wird der Befehl Muster eines der Grundmuster, die ursprünglich von der Viererbande definiert.

Das Command-Muster ist ein Entwurfsmuster, die Sie, um den Teil des Codes, der eine Aktion durch den Code, die die Ausführung erfordert führt zu isolieren ermöglicht; die Aktion wird im Objekt-Befehl gekapselt.

Das Ziel ist, die Wirkung des variablen den Client, ohne die Einzelheiten der Transaktion zu machen. Ein weiterer wichtiger Aspekt ist, dass der Empfänger der Anforderung kann nicht statisch bei der Instanziierung des Befehls festgelegt werden, sondern geht zur Laufzeit.

Struktur

Beispiel

In einer Formularklasse wird unten definiert.

Dies soll mit der Verwaltung der Räume eines Hauses und derzeit die Leistung einiger auszuführenden Arbeiten befassen.

In der Tat sind einige Unterklassen definiert, die verschiedene Jobs, die auf den Wänden der Räume durchgeführt werden können, zu implementieren.

Dieser Ansatz hat mehrere Nachteile.

  • Im Angesicht der n möglichen Arbeitsplätze notwendig sind mehrere Unterklassen: eine für jede Aktion zu implementieren und eine für jede mögliche Zusammensetzung der grundlegenden Aktionen. Wenn stattdessen die Aktionen waren unabhängig RoomHandler Befehl, wäre es möglich, Instanzen der letzteren, anstatt zu erstellen erstellen Unterklassen.
  • RoomHandler enthält sowohl die Management-Code von den Räumen, die der Code, der die Aktionen durchführt: es ist mit Aufgaben überlastet und zu erweitern Aktion die Komplexität RoomHandler erhöht.
  • Testobjekte mit vielen Aufgaben ist in der Regel komplex und kostspielig. Kapseln Aktionen in Command ermöglicht das Testen der einzelnen einzigartige Aktion, die Prüfung und Validierung erheblich vereinfacht.

Hier ist der Code äquivalente strukturiert nach den Anweisungen des Musters:

Ist der Akt der Erstellung einer Instanz RoomHandler, sowohl während der Laufzeit, können Sie auswählen, die geplanten Maßnahmen:

Überlegungen

  • Aufgabe der Vorgang wird nicht zu dem Zeitpunkt der Emission von Anteilen, aber während der Laufzeit bestimmt.
  • Sie können eine Aktion zu kapseln, so dass es sich um Atom. Es ist somit möglich, ein Paradigma für Transaktionen, bei denen eine Reihe von Operationen wird die vollständige oder für irgendetwas durchzuführen.
  • Der Befehl, der bewusst die erforderlichen Schritte durchzuführen sind, können Funktionen unexecute implementieren oder rückgängig zu machen. In solchen Fällen kann der Befehl, die den Zustand vor seiner Hinrichtung zu speichern, die Wiederherstellung ist es, wenn der Vorgang abgebrochen werden soll.
  • Aus der Auswahl asynchronen Befehl Respekt vor ihrer Hinrichtung zu machen. Eine Anzahl von Befehl kann von einem anderen Objekt, das sie zu einem anderen Zeitpunkt von deren Auswahl empfängt verbraucht werden.
  0   0
Vorherige Artikel Wicked
Nächster Artikel Sintflut

In Verbindung Stehende Artikel

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha