Download
das command muster n.
Skip this Video
Loading SlideShow in 5 Seconds..
Das Command Muster PowerPoint Presentation
Download Presentation
Das Command Muster

Das Command Muster

105 Vues Download Presentation
Télécharger la présentation

Das Command Muster

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Das Command Muster Deimbacher, Gölles

  2. Fakten • Verhaltensmuster • GoF – Muster • Auslösender und Ausführender sind entkoppelt.

  3. Die Fernbedienung ON-Knopf 1 OFF-Knopf 1 Rückgängig Knopf

  4. Austauschbare Befehle • Die Geräte die gesteuert werden sind verschieden

  5. Command publicinterface Command { publicvoidexecute(); }

  6. Licht an… publicclassLightOnCommandextends Command { private Light light; publicLightOnCommand(Light light) { this.light = light; } publicvoidexecute() { light.on(); } } Bei Ausführung wird Licht eingeschalten

  7. Fernbedienung • publicclassSimpleRemoteControl{ • private Command slot; • publicSimpleRemoteControl() {} • publicvoidsetCommand(Command command) { • slot = command; • } • publicvoidbuttonWasPressed() • { • slot.execute(); • } • }

  8. Testen der Fernbedienung • public class RemoteControlTest { • publicstaticvoid main(String[] args) { • SimpleRemoteControlremote = newSimpleRemoteControl(); • Light light = new Light(); • LightOnCommandlightOn = newLightOnCommand(light); • remote.setCommand(lightOn); • remote.buttonWasPressed(); • } • } Erstellen der benötigten Objekte Zuweisung des Licht-An-Befehl

  9. Aufgabenstellung • Implementiere den Befehl (Command) • Zeichne das dazugehörige Klassendiagramm Öffnen des Tores Es existiert eine Klasse „EntranceGate“

  10. Auflösung publicclassOpenEntraceGateCommandextendsCommand { privateEntraceGategate; publicOpenEntraceGateCommand(EntraceGategate){ this.gate= gate; } publicvoidexecute() { gate.openGate(); } }

  11. Mehr Buttons, mehr Funktionen

  12. Rückgängig Funktion… Rückgängig Knopf

  13. Gesamte Klassendiagramm

  14. Erstellen des „ConreteCommand“ • Schnittstelle für Befehle • FuehreAus() – Fürt Funktion aus • Besitzt Befehl (Befehle) • Ruft Befehl auf • Weiß wie die Arbeit funktioniert • Kann jede Klasse sein • Verbinden Action und Receiver

  15. Weitere Anwendungsfälle

  16. Weitere Anwendungsfälle

  17. Vielen Dank für eure Aufmerksamkeit Deimbacher, Gölles