Seite 1 von 1

MVC ... was gibts noch?

BeitragVerfasst: 12.12.2007, 00:12
von megawatt
Welche Design Pattern kennt ihr noch, die evtl. besser sind, als MVC? Zwar wird momentan ein regelrechter Hype um drum veranstaltet, aber ich kann kaum glauben, dass es da nix anderes geben soll?
Was gibt es da noch, was man sich anschauen sollte, oder ist MVC wirklich die ultimative Lösung für alle Probleme?

Model-View-Command-Controller

BeitragVerfasst: 22.12.2007, 10:17
von mylene
Hallo megawatt,

ich hab mal vor einiger Zeit ein Buch zum Thema Design Patterns gelesen. Kommt zwar aus der PHP-Ecke, beschreibt das Thema aber trotzdem recht schön:

http://www.amazon.de/PHP-Design-Pattern ... 897214423/

Ich fasse mal kurz zusammen:
Man unterscheidet zwischen Erzeugungsmuster, Strukturmuster und Verhaltensmuster. Mit diesen kann man Objekte erzeugen, sie in eine hierarschiche Relation setzen und deren Interaktion steuern. Das sorgt also insgesamt für sauberen Code.
Ausserdem gibt es noch Patterns, die Logik von Datenausgabe trennen. Genau hier wird's dann sehr RoR-like:

Normalerweise ist das von RoR bekannte MVC-Modell ein vierschichtiges Modell:
Model - View - Controller - Command

Die Schichten entstehen aus der Überlegung heraus, welche jeweilige Aufgabe diese zu erfüllen hat. Dadurch kann man einzelnen Schichten sogar komplett austauschen und in anderen Programmen verwenden.
Durch diese logische Herleitung entsteht - im Vergleich zu MVC - eine vierte Schicht (da man die Logik zum Empfang der Nutzerdaten und die Vorbereitung zur Ausgabe in zwei Schichten auftrennt).
Da bei Webanwendungen aber Controller & Command sehr eng miteinander verknüpft sind, hat man die bei Rails zusammengefasst.

MVC hat sich inzwischen als generelles Pattern bisher gut behaupten können und wir ja auch von anderen Sprachen in diversen Frameworks genutzt (PHP, Perl, Python).

Klar, da gibt's einige, die meinen, man sei durch diese Vorgaben eingeschränkt. Mag sein, dass sich ein paar exotische Ideen nur ausserhalb eines Frameworks lösen lassen (gilt für alle Sprachen). Aber hey: So sauber haben wir noch nie programmieren können ... :D

Nach der Lektüre des Buches hat man in jedem Fall das Gefühl, dass die Entwickler bei Ruby on Rails alles richtig gemacht haben!