2009-06-13 11 views

Antwort

5

Ja, das ist eine häufige Verwendung für das Befehlsmuster. Stellen Sie sich vor, Sie haben eine Reihe von Klassen (z. B. Öffnen, Speichern, Drucken), die jeweils eine execute() -Methode zur Verfügung stellen. Sie können dann eine Instanz einer dieser Klassen mit Ihren Schaltflächen verknüpfen und das onclick-Ereignis der Schaltfläche aufrufen ausführen () ohne zu wissen, was der zugehörige Befehl konkret macht.

Die Wikipedia article gibt einige andere allgemeine Verwendungen des Befehlsmusters.

+0

Aber wie man am besten die Assoziation - innerhalb der Taste (z. B. haben eine spezielle "CommandButton" -Klasse, die einen Verweis auf einen ICommand hält ... ODER außerhalb der Klasse in irgendeiner Art von Nachschlagen? – Iain

0

Ja. Ich habe verwendet, um die gleiche Aktion mit einem Menü-Klick und einem Toolbar-Klick zu verknüpfen. Es funktioniert ziemlich gut. Es revolutioniert nichts, aber gibt Ihnen viel saubereren Code und beseitigt unangenehme Switch-Anweisungen.

Ich habe irgendwo Code, den ich versuchen werde zu graben, um Ihnen einige Beispiele zu geben.