Hallo,
Ich habe bis jetzt nur relativ wenig Erfahrung mit OOD und MVC und mich beschäftigt zurzeit eine vielleicht etwas "blöde" Frage. In welche Schicht bei einer MVC-Archtitektur gehören eigentlich die für Benutzereingaben zuständigen Validatoren?
View : ist ausschließlich für Präsentation zuständig und daher wahrscheinlich am wenigsten geeignet
Controller: könnte dafür zwar "mißbraucht" werden, ist aus meiner Sicht allerdings auch nur suboptimal geeignet und würde wahrscheinlich auf lange Sicht zu viel Copy&Paste Code führen
Model: kennt zwar seine Daten und könnte sie strenggenommen auch selbst validieren, aber es ist eigentlich nicht sein Aufgabenbereich, außerdem kann es auch gut sein, daß die Daten (z.B. bei einer Suchanfrage) zuerst von einem DataMapper verarbeitet werden und es somit noch gar keine Instanz des Models existiert
Momentan habe ich also den Eindruck, daß die Validatoren in keiner der drei Schichten wirklich gut aufgehoben sind.
Mich würde mal interessieren wie ihr das sieht und wie man es eigentlich richtig macht.
Vielen Dank im Voraus
jack
Ich habe bis jetzt nur relativ wenig Erfahrung mit OOD und MVC und mich beschäftigt zurzeit eine vielleicht etwas "blöde" Frage. In welche Schicht bei einer MVC-Archtitektur gehören eigentlich die für Benutzereingaben zuständigen Validatoren?
View : ist ausschließlich für Präsentation zuständig und daher wahrscheinlich am wenigsten geeignet
Controller: könnte dafür zwar "mißbraucht" werden, ist aus meiner Sicht allerdings auch nur suboptimal geeignet und würde wahrscheinlich auf lange Sicht zu viel Copy&Paste Code führen
Model: kennt zwar seine Daten und könnte sie strenggenommen auch selbst validieren, aber es ist eigentlich nicht sein Aufgabenbereich, außerdem kann es auch gut sein, daß die Daten (z.B. bei einer Suchanfrage) zuerst von einem DataMapper verarbeitet werden und es somit noch gar keine Instanz des Models existiert
Momentan habe ich also den Eindruck, daß die Validatoren in keiner der drei Schichten wirklich gut aufgehoben sind.
Mich würde mal interessieren wie ihr das sieht und wie man es eigentlich richtig macht.
Vielen Dank im Voraus
jack
Kommentar