AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Geeignetes Pattern für zwei-Spieler-Spiel

Ein Thema von Jazzman_Marburg · begonnen am 10. Feb 2013 · letzter Beitrag vom 10. Feb 2013
Antwort Antwort
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#1

Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 16:56
Moin!
Ich bin gerade etwas begrifflich irritiert: Weiß zufällig jemand, wie man das Pattern nennt, welches zwischen dem GUI und dem Spielbrett steht und Züge von Usern an das Spielbrett weiter gibt und die verschiedenen Stati des Spielbretts entgegennimmt?
Um es konkret zu machen: Ich habe ein einfaches Zwei-Spieler-Spiel, welches auf einem Spielbrett gespielt wird. Die Spieler geben ihr Züge abwechselnd ab. Nun möchte ich das GUI von der eigentlichen Spiel-Logik (Spielbrett) trennen. D.h. das GUI soll nicht direkt auf die Spielklasse zugreifen, sondern die Usereingaben erst zu einer Schicht, die zwischen diesen beiden sitzt, senden. Handelt es sich bei dieser Zwischenschicht um einen Visitor oder Controler, oder etwas ganz anderem?
Hat jemand ein solches Pattern für diesen Zweck schon mal gebaut?
Ich finde einige Beschreibungen des MVC Modells -- aber ich findes es verwirrend, dass dort das Modell und das GUI direkt miteinander verknüpft sind (lesend und schreibend), so dass ich mich frage, wozu man dann noch einen Controler benötigt.

Zufällig ein Pattern-Experte anwesend?

Lieben Dank
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 17:31
Schau dir mal das an http://de.wikipedia.org/wiki/MVVM
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#3

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 17:48
- MVC gibts in diversen Varianten und jeder versteht etwas (leicht) anderes darunter. Insbesondere variiert die Kopplung zwischen View und Controller und die Granularität des Modells.
- daneben gibts noch MVC-Varianten, die sich nicht mehr MVC nennen. Beispielsweise MVVM. Es gibt aber auch noch PAC und MVP und keine Ahnung was alles.
- Ja im "originalen" MVC kommunizieren M und V "direkt". Dir Frage ist aber was "direkt" nun heißt. Teilweise sind diese Kommunikationswege über Observer o.ä. realisiert.
- Wie schlimm diese direkte Kommunikation ist, hängt auch davon ab, wie das Modell aussieht. Das kann zum einen deine echte Geschäftslogik sein, aber auch quasi ein Teil der GUI-Schicht, die die Daten aus der Geschäftslogik weiter aufbereitet.
- Wichtig sind diese Patterns insbesondere für Leute, die Frameworks bauen, weil solche Patterns zum Kernkonzept eines Frameworks werden können.
- Man kann die Patterns auch händisch anwenden.
- Man sollte sich aber immer bewusst sein, dass diese Muster auch ihre Nachteile haben. Insbesondere können sie den Entwurf ziemlich schwerfällig machen.
- Ich finde es deshalb oft sinnvoller auf MVC u.ä. zu verzichten und GUI-Schicht und Applikationslogik ohne einen Controller zu trennen. D.h. die GUI kennt die Anwendungslogik aber nicht umgekehrt. Für die Kommunikation in die andere Richtung eignen sich Events. So ist die GUI zwar Abhängig von der geschäftslogik, aber das ist logisch eh fast immer der Fall. Nur den Umgekehrten Fall will man i.d.R. strikt vermeiden. Man will nicht die Applikationslogik ändern müssen, nur weil sich was an der Darstellung geändert hat. Wenn sich aber die Anwendungslogik ändert, kommt man fast eh nicht umhin die GUI zu ändern. Eine technische Entkopplung wird diese logische Kopplung nicht aufheben können und macht häufig nur den Entwurf komplizierter.
- Visitors sind etwas ganz anderes.


mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#4

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 18:25
Interessant!
Vielen Dank.

Da ich erstmal nur mit Pattern rumspielen möchte, schließe ich mich dem dort genanntem Nachteil an:
"Für Anwendungen mit einfacher UI ist es Overkill."

Dennoch -- vielen Dank & Gruß
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#5

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 18:32
[snipp Teil I]
- Visitors sind etwas ganz anderes.
Hallo.
Volle Zustimmung zum Teil I:
Ich will einfach den Umgang mit Pattern lernen -- die Nachteile kommen dann, wenn ich weiß worum es überhaupt geht.

Zu den Visitors hätte ich dann doch gern mehr gewusst, als nur dass sie etwas anderes sind.

Vielen Dank
Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#6

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 18:49
Zu den Visitors hätte ich dann doch gern mehr gewusst, als nur dass sie etwas anderes sind.
- Visitor ist ein Entwurfsmuster, während MVC eher ein Architekturmuster ist, das sich auch als Entwurfsmuster anwenden lässt
- Die Haupt-Quelle ist das GoF-Book, das ist sehr empfeheln kann
- http://de.wikipedia.org/wiki/Besucher_(Entwurfsmuster)
- http://www.christian-rehn.de/tag/visitor/
- http://www.christian-rehn.de/2011/05/21/patterns/

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von Jazzman_Marburg
Jazzman_Marburg

Registriert seit: 2. Aug 2004
359 Beiträge
 
#7

AW: Geeignetes Pattern für zwei-Spieler-Spiel

  Alt 10. Feb 2013, 18:56
Merci!

Jazzman
--- Delphi XE Starter, Windows 8 ---
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf