State Pattern, switch vermeiden



  • Ich habe eine Klasse in der ich die Wahl eine Optimierungsstrategie für eine Rechnung festlegen möchte. Das könnte ich natürlich über einen switch machen und je nach Einstellung die richtige Funktion im switch raussuchen. Was dann aber in jedem Iterationssschritt passiert.
    Zwischendurch habe ich mal gesehen das es vom Design her besser gehen soll. Dazu habe ich diesen Artikel http://en.wikipedia.org/wiki/State_pattern gefunden.

    Jetzt sehe ich aber nicht wie ich das Beispiel auf mein Problem anwenden sollte.
    Denn ich habe ja nur 3 Funktionen und nicht an Satz von N Funktionen die gleichmaßen von M Klassen genutzt werden. Insbesondere müssen diese 3 Funktionen auf die Daten der Klasse zurückgreifen können. Ich könnte Sie daher nicht in einzelnen Klassen verpacken. Und mit Funktionpointern kann ich hier auch nicht arbeiten da es sich um Member eine Klasse handelt, oder?

    Würde gerne wissen ob man soein Problem geschickter designen kann als mit einer switch Anweisung.



  • pospiech schrieb:

    Und mit Funktionpointern kann ich hier auch nicht arbeiten da es sich um Member eine Klasse handelt, oder?

    Methoden pointer



  • Wieso kannst du nicht mit Funktionszeigern arbeiten? Wieso kannst du nicht mit abstrkaten Klassen arbeiten?
    Du hast immer die Möglichkeit einen Zeiger auf eine Datenstruktur mitzugeben, also da sehe ich kein Problem.

    Klarerweise geht es mit einem Member-Function-Pointer einfacher...


Log in to reply