# Ein etwas komplexeres MVC-Beispiel .



## Matti (21. Apr 2006)

... als man in jedem Buch findet.

Was meint ihr, was ist ein gutes Design folgender hypothetischer Fragestellung?

Man hat eine Datenklasse, z.B. ein Telefonbuch.


```
class Telefonbuch {
 private List vornamen, nachnamen;

 // ...
}
```

Nun soll dieses Telefonbuch in zwei Views, die unterschiedliche Models benötigen, dargestellt werden. Und zwar z.B. einmal in einer JList und einmal in einer JTable.

Man würde jetzt ein TableModel und ein ListModel implementieren und gibt ihnen jeweils eine Referenz auf das Telefonbuch, oder sehe ich das falsch? 

Dann hieße das zwar aus Sicht der GUI, dass die Models die Datenbehälter sind, aber in Wirklichkeit sind sie das doch gar nicht, sondern die GUI manipuliert nur durch die Models die eigentlichen Daten. Mir ist klar, dass es sinnvolle Fälle gibt, in denen man die Daten tatsächlich nur in einem Model hält. Konzeptuell ist aber ein Model doch eher eine Schnittstelle zwischen Daten (und stellt evtl. Manipulationsmethoden bereit) und dem View-Controller. Sehe ich das richtig?


----------



## Beni (21. Apr 2006)

Ich würde die Anwendung auch so schreiben. Das ListModel und das TableModel sind halt verschiedene Ansichten (oder Ausschnitte) eines grösseren Models, das widerspricht MVC nicht im geringsten.


----------



## Matti (21. Apr 2006)

Ich muss doch feststellen, dass Patterns z.T. wesentlich flexibler ausgelegt werden könnten, als ich es mir immer denke. Ich glaube, du hast mit deiner Einschätzung recht.


----------

