# MVC Frage



## Guest (22. Jun 2007)

hallo,

also ich verwende in meinem prog mvc. und habe dazu jetzt mal ne frage.

Wennich auf nem button klicke wird im controller eine methode aufgerufen, welche einen datensatz verändert  und wenn der datensatz einen bestimmten status hat. 
Nun zu meiner frage , wetr prüft den status? das model oder der controller. 
Also ich denke ja ich rufe in meinem model eine methode auf die den datenstz entgegennimmt, prüft und gegebenenfalls weiterverarbeitet. Ist das richtig so? Und wie gebe ich dann fehlermeldungungen oder sonstige statusmeldungen zurück, gebe ich die als rückgabeparameter wieder an den controller, oder direkt an die view?


----------



## Guest (22. Jun 2007)

hat denn keiner ne antwort wenigstens ob meine herangehensweise schonmal richitg ist.

also ob das model für die prüfung , weiterverarbeitung usw verantwortlich ist und nicht der controller (weiterverabeitung ist methode auf client seite von schnittstelle aufrufen, die den server anfordert etwas zu tun, was wiederu´m zur änderung des statuses führt). oder ob ich das anders angehen soll.


----------



## Wildcard (22. Jun 2007)

Also ungeduldig bist du ja gar nicht...  :? 
Das Modell reagiert auf Änderungen in dem es allen Listenern bescheid sagt.
Diese Listener werden in der regel Controller sein.


----------



## SnooP (22. Jun 2007)

Das sind immer zwei unterschiedliche Logiken. Einmal sollte der Controller Fehler abfangen, wie etwa Texteingaben in Zahlentextfelder... bzw. allgemeinere Validierungsmöglichkeiten...

Sachen für die du aber Dinge wissen musst, die nur das Modell selbst weiß, z.B. ob eine Person aus einer Liste aus Kontaktdaten gelöscht werden soll, oder nicht, ist wieder Sache des Modells... sinnigerweise werden dort dann exceptions geworfen, die vom Controller - der ja das Modell aufgerufen hat - wieder abgefangen und der View mitgeteilt werden können. Dafür bietet sich dann so ne handleException-Methode im Controller an, die generisch für alle auftretenden Exceptions ein Logging macht bzw. für "gewollte" Exceptions Dialogboxen zusammenstellt oder was auch immer.

Also Vorgehensweise ist okay  - wobei ich nicht genau weiß, was du mit Datensatz meinst... wenn du nen Satz an Informationen hast, die unterschiedlichste Modellteile beinflussen sollen, dann müssen die natürlich durch die Controller-Fassade entsprechend aufgearbeit und auf die Modelle verteilt werden... also nicht, dass du einer Modell-Methode makeSomething() nen Array aus Strings gibst und der muss dann erstmal auseinanderdröseln... - das Modell ist wirklich nur in sich Domänen-Logisch zu sehn  ... sollte also auch ohne Controller und alles in sich funktionieren.


----------



## ARadauer (28. Jun 2007)

@wildcard: soll die listender des modells nicht views sein?

also ich ich informiere meine views meistens über das observer pattern, wenn sich das modell ändert


----------

