Login


 
Newsletter
Werbung
Do, 5. Juli 2012, 15:00

Objektorientierte Programmierung: Teil 4 – Strategie, wechsel Dich!

Zustandsautomat mit der variablen Strategie als Start-Strategie

Dominik Wagenführ

Zustandsautomat mit der variablen Strategie als Start-Strategie

Klassenaufteilung

Klasse:
IStrategyContext
Benötigt:
Verantwort.:
Interface für Nutzer von Strategien, um neue Strategien zu setzen

Klasse:
BaseStrategy
Benötigt:
IStrategyContext
Verantwort.:
Basisklasse für die konkreten Strategien, um ein Angebot anzunehmen oder abzulehnen.
Merkt sich den Kontext, in dem es benutzt wird.

Hinweis: Hier muss man aufpassen, dass es nicht zu einer zyklischen Abhängigkeit kommt. Da IStrategyContex aber nur ein Interface ist, muss es nicht BaseStrategy selbst, sondern nur den Namen kennen.

Klasse:
AcceptStrategy
Basisklasse:
BaseStrategy
Benötigt:
Verantwort.:
nimmt ein Angebot immer an

Klasse:
DeclineStrategy
Basisklasse:
BaseStrategy
Benötigt:
Verantwort.:
lehnt ein Angebot immer ab

Klasse:
VariableStrategy
Basisklasse:
BaseStrategy
Benötigt:
StrategyFactory,
IStrategyContex
Verantwort.:
entscheidet variabel, ob ein Angebot abgelehnt oder angenommen wird

Klasse:
StrategyFactory
Benötigt:
BaseStrategy
Verantwort.:
lässt neue Strategien anmelden und erstellt diese auf Zuruf

Klasse:
Bot
Basisklasse:
IStrategyContex
Benötigt:
BaseStrategy
Verantwort.:
zählt die angenommenen Punkte

Klasse:
Game
Benötigt:
StrategyFactory, Bot
Verantwort.:
erstellt den Bot und setzt die von der Fabrik erzeugte Strategie;
liest die Benutzereingabe und fragt Bot nach Annahme oder Ablehnung

Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung