Verhaltensmuster STATE-Pattern (Zustandsmuster) in objective-C

  • Verhaltensmuster STATE-Pattern (Zustandsmuster) in objective-C

    Hallo!

    Ich habe mich hier vor einer Woche neu registriert.
    Das Forum scheint gut strukturiert zu sein und steckt wohl auch voller Leben ;)

    Ich befasse mich nun seid ein paar Tagen mit der Programmierung einer APP fürs iPhone.
    Ich habe mir diesbezüglich auch schon einige Bücher gekauft, um einen schnelleren Einstieg in Cocoa und XCode zu bekommen.

    Allerding fehlen mir jegliche Informationen zum Thema "Verhaltensmuster"

    Für meine Anwendung würde es Sinn machen das State-Pattern zu nutzen, da die APP in ihrer Laufzeit verschiedene logische Zustände durchläuft.

    Das State-Pattern wird also das Haupt-Pattern sein.

    Leider konnte ich bisher keinen Ansatz im Web finden wie ich in objective-C diesen Pattern umsetze.


    Über ein kurzes Tutorial, oder hilfreiche Ansätze würde ich mich sehr freuen :)
    Vielleicht suche ich bei google auch einfach nur falsch!

    Hey, in dem Forum stecken doch sicherlich ein paar Entwickler, die sich damit bestens auskennen ;)


    Ich werde das Resultat auch hier veröffentlichen, sobald ich das State-Pattern erfolgreich in Objective-C umsetzen konnte!



    Vielen Dank für eure Hilfe ;)
  • RE: Verhaltensmuster STATE-Pattern (Zustandsmuster) in objective-C

    Hallo,

    vielen Dank für deine schnelle Antwort!

    Wie meinst du das, du würdest keine Abhängigkeit von Objective-C sehen?

    Ich möchte dieses Patter umsetzen um eine bessere Übersichtlichkeit zu bekommen.
    Also, mal ganz einfach gesprochen - für jedes .m und .h file möchte ich einen bestimmten Zustand beschreiben.


    Wie würdest du es denn machen?
  • RE: Verhaltensmuster STATE-Pattern (Zustandsmuster) in objective-C

    Original von moozoom
    Hallo,

    vielen Dank für deine schnelle Antwort!

    Wie meinst du das, du würdest keine Abhängigkeit von Objective-C sehen?

    Ich möchte dieses Patter umsetzen um eine bessere Übersichtlichkeit zu bekommen.
    Also, mal ganz einfach gesprochen - für jedes .m und .h file möchte ich einen bestimmten Zustand beschreiben.


    Wie würdest du es denn machen?


    Mal ganz einfach gesprochen:

    a) Du möchtest sicherlich für jeden Zustand eine Klasse haben, nicht umgekehrt.

    b) Du legst entsprechende Klassen an und instantierst sie.

    In welchen Programmiersprachen hast du schon einmal das Zustandsmuster implementiert? Welche Änderungen erwartest du bei Objective-C?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Das kann man doch 1:1 nach Objective-C übersetzen. Wenn du das nicht kannst solltest du erst einmal die Grundlagen lernen, bevor du versuchst irgend welche Design-Patterns zu implementieren. Dein Problem hat ganz offensichtlich nichts mit dem Muster sondern mit der Programmiersprache zu tun.
  • Das kann man doch 1:1 nach Objective-C übersetzen. Wenn du das nicht kannst solltest du erst einmal die Grundlagen lernen, bevor du versuchst irgend welche Design-Patterns zu implementieren. Dein Problem hat ganz offensichtlich nichts mit dem Muster sondern mit der Programmiersprache zu tun.
  • Das hat sicherlich was mit der Programmiersprache zu tun.
    Aus dem Grund wende ich mich ja an dieses Forum.

    Mir fehlt ganz einfach ein kleiner Ansatz, um mich dann in die Thematik und auch in die Programmiersprache besser einarbeiten zu können.


    Na gut, ich versuche das JAVA-Beispiel mal in Objetive-C zu portieren.

    Ich werde das dann mal hier posten - würde mich freuen wenn ich euch die Lösung dann mal anschauen könntet.

    Vielen Dank nochmal für eure Unterstützung ;)
  • Ich habe jetzt Zustände die über structe beschrieben werden.
    Jeder struct hat einen bool-variable - darüber lässt sich dann der aktive zustand (true, false) abfragen.

    Mir gefällt diese Möglichkeit aber noch nicht.
    Das ist ganz einfach nicht Objektorientiert.

    Ich möchte euch bitten mir einen Ansatz in Objective-C zu geben.
    Sehr gerne auch ein Code.

    Ich las auch das man C++ mit Objective-C kombinieren kann.
    Das wäre mir allerdings auch zu unsauber.
  • 1.) Du solltest @class anstelle von struct verwenden.
    2.) Es ist nicht unbedingt sinnvoll, Konstrukte aus der Java-Welt eins zu eins auf die Objective-C-Welt zu übertragen.
    3.) Das State-Muster macht erst Sinn, wenn die Zustandsklassen Methoden haben, die jede Unterklasse unterschiedlich implementiert.

    EDIT: Natürlich @interface nicht @class :D
    „Meine Komplikation hatte eine Komplikation.“
  • Ich kann deinen Einwand nicht so ganz nachvollziehen.

    Wo genau siehst du im Code ein Problem?
    Ich befasse mich erst seit 2 Tagen ernsthaft mit Objective-C

    Ich bitte daher um Nachsicht.


    Es ist einfach verdammt schwer ein Tutorial zu finden welches dieses Pattern in OBjC beschreibt. (Notation)
  • Original von Lucas de Vil
    Initializer-Methoden, die VOID zurückgeben?

    Was liest du Einführendes?

    Ich beantworte mal die rhethorisch gemeinte Frage für ihn: Eindeutig nein.

    @OP: Willst du Objective-C lernen? Wieso verwendest du dann nicht die dazu gedachten Lehrmittel?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Original von moozoom
    Ich kann deinen Einwand nicht so ganz nachvollziehen.

    Wo genau siehst du im Code ein Problem?
    Ich befasse mich erst seit 2 Tagen ernsthaft mit Objective-C

    Ich bitte daher um Nachsicht.


    Es ist einfach verdammt schwer ein Tutorial zu finden welches dieses Pattern in OBjC beschreibt. (Notation)

    Wie sieht diese ernsthafte Beschäftigung aus?
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?