Ich bin gerade dabei ein kleines TowerDefense Spiel zu planen und habe mir vorgenommen das ganze nach dem MVC Prinzip zu gestalten. Jetzt stelle ich mir gerade die Frage, was mein Controller eigentlich alles machen darf, bzw was genau seine Aufgabe ist.
Angenommen der User möchte einen neuen Turm bauen und teilt dies dem View per Mausklick mit. Mein View soll jetzt dieses Event erhalten und auf dem Controller
aufrufen. Bei der Implementation dieser Methode habe ich bisher 2 Varianten :
1. Der Controller nimmt alle nötigen Untersuchungen und Vorbereitungen ( kann ich hier bauen ?, wird die Umgebung des Turms verändert ?, wie viel Geld kostet der Turm ? ...) vor um den Turm an der gewünschten stelle zu platzieren und ruft dann auf dem Model lediglich
auf.
2. Der Controller delegiert die Methode
einfach an das Model, welches die eigentliche Implementierung( s.o. ) dieser Methode enthält.
Welche Lösung, wenn denn überhaupt eine, ist eurer Meinung nach besser ?
Ich persönlich würde die 1 Variante bevorzugen, da ich die Aufgabe des Model vorrangig in der Speicherung der Daten gesehen habe, deren einzige Manipulation über get - und setMethoden ermöglicht wird.
lg Lexi
PS: Wie kann ich hier im Forum einzeilige Code-Tags verwenden, sodass ich kleine Schnipsel im Fließtext ohne Absatz integrieren kann ?
Angenommen der User möchte einen neuen Turm bauen und teilt dies dem View per Mausklick mit. Mein View soll jetzt dieses Event erhalten und auf dem Controller
Code:
buildTower()
1. Der Controller nimmt alle nötigen Untersuchungen und Vorbereitungen ( kann ich hier bauen ?, wird die Umgebung des Turms verändert ?, wie viel Geld kostet der Turm ? ...) vor um den Turm an der gewünschten stelle zu platzieren und ruft dann auf dem Model lediglich
Code:
addTower()
2. Der Controller delegiert die Methode
Code:
buildTower()
Welche Lösung, wenn denn überhaupt eine, ist eurer Meinung nach besser ?
Ich persönlich würde die 1 Variante bevorzugen, da ich die Aufgabe des Model vorrangig in der Speicherung der Daten gesehen habe, deren einzige Manipulation über get - und setMethoden ermöglicht wird.
lg Lexi
PS: Wie kann ich hier im Forum einzeilige Code-Tags verwenden, sodass ich kleine Schnipsel im Fließtext ohne Absatz integrieren kann ?
Zuletzt bearbeitet: