# Und wieder mal... MVC



## grisu (28. Feb 2010)

Hello,

Ich habe zu meiner Frage weder über die Suche noch über Google was gefunden, sorry falls ich was übersehen habe.

Mein Model besteht im Grunde nur aus einer XML-Datei, die einige Projekte beschreibt (name, description, Pfade zu Bildern etc.). Das Model ist zuständig für das Laden dieser Datei sowie das "Übersetzen" in VOs, die in einem Array verwaltet werden.

Meine Frage nun: Wie geht man mit einem View um, der viel Logik benötigt? Es geht konkret um die Darstellung dieser Daten in 3d, Kollisionserkennungen finden statt, etc. Bekommt der View nun wieder ein eigenes Model? Macht die "View-Logik" der Controller? Oder bleibt das alles im View?

Mir fällt gerade noch eine Frage ein...
In den VOs werden die Pfade zu den Bilddateien gespeichert. Wer ist zuständig für das Laden der Bilder? Der View, der sich aus dem Model nur die Pfade holt? Oder werden die geladenen Bilder schon in den VOs gespeichert?

Danke im Voraus 
grisu


----------



## MQue (1. Mrz 2010)

Also da gibt es ja die unterschiedlichsten Meinungen, vor allem in einer Enterprise Architektur.
Ich würde mal sagen, im zweifelsfall die Klassische MVC- Variante wählen, 
das Model hält die Daten, die View zeigt an, wenn sich im Model was ändert, der Controller vermittelt zwischen Model und View (mittels Observerpattern). Der Controller muss austauschbar bleiben mittels des Strategy- Patterns. 
Ich würde im View auf keinen Fall ein Bild laden, dass sollte meiner Meinung nach das Model machen und dann die View informieren, dass sich was getan hat. Die View kann meiner Meinung nach höchstens das Model anstoßen, dass ein Bild geladen werden soll.


----------



## grisu (1. Mrz 2010)

Hi, 

Das mit dem Bilder laden seh ich genau so, der View nichts zu damit zu tun.

Nur nochmal die Frage:


> Wie geht man mit einem View um, der viel Logik benötigt? Es geht konkret um die Darstellung dieser Daten in 3d, Kollisionserkennungen finden statt, etc. Bekommt der View nun wieder ein eigenes Model? Macht die "View-Logik" der Controller? Oder bleibt das alles im View?



Irgendwie macht es Sinn, das alles im View zu lassen. So könnte man z.B. später ganz leicht eine andere Darstellungsform  (z.B. in 2d, was auch immer) wählen. Andererseits ist ja Logik im View irgendwie fehl am Platz.


----------



## MQue (2. Mrz 2010)

Wenn das Logik für das Anzeigen ist dann würd ich das in der View lassen und so gut es geht, Design Patterns verwenden (z.B.: das Composite Pattern -> alle Komponenten (Wurzel oder Blatt gleich behandeln)) damit man einfach und manchmal auch schneller über die Komponenten iterieren kann.


----------



## grisu (2. Mrz 2010)

Das wollte ich wissen, danke dir.


----------

