| 

.NET C# Java Javascript Exception

6
Moin,

ich beschäftige mich gerade ein wenig mit Designpatterns im Zusammenhang mit Softwarearchitektur.

Dabei überlege ich mir gerade, wie ich am besten MVx mit dem 3-Schichten-Modell kombinieren könnte. Mit dem 3-Schichten-Modell habe ich schon des öfteren gearbeitet, meine Erfahrung mit MVx hält sich in Grenzen.

Nach meiner aktuellen Theorie würde das so aussehen:

1. Schicht: GUI, aufgebaut nach MVx
2. Schicht: Business Logic (BL)
3. Schicht: Datenzugriffe (DA) (Filesystem, Datenbank, etc.)

Wer kommuniziert denn hier jetzt am besten mit wem?

Das Model holt sich seine Daten über die BL vom DA. Denke der Teil ist noch relativ klar. Der Controller (mal auf MVC gemünzt) dürfte dann eigentlich recht wenig zu tun haben, weil er Anfragen eigentlich nur an die BL weiterleiten kann!? Außer natürlich es geht um GUI-spezifische Logik, die dann natürlich nicht in der BL ist.

Sehe ich das soweit richtig? Hat vielleicht irgendwer etwas mehr Erfahrung damit?
mvvm 3-schichten mvc mvp
News:
14.06.2012
Feroc 1,2k 1 9
1 Beitrag
0
Ich würde sagen das Model holt sich selber gar nichts, da dass Model nahezu keine Funktionialität besitzt. Wenn die Logik Daten braucht, dann kriegt sie die Daten vom Backend. Der "Konverter" der die Daten in das Model überführt kann dann auch im Backend liegen, so ist die BL sauber und enthält nur den Code der für die Logik selbst wichtig ist.

Wo man sich dann entscheiden muss, ist ob die Logik an die View (GUI) das/ein Model weiterreicht oder ob man dann alle Klassen nochmal doppelt abbildet. Letzteres ist zwar vom Prinzip her sauberer, das Model durchzureichen ist aber einfacher. Da Logik vom Model sowieso direkt abhängig ist sehe ich persönlich wenig Vorteile darin das Model nochmal zu duplizieren. Wichtig ist dann jedoch dass die View nicht das Model direkt verändert! Die View darf nur die BL Schicht nutzen um das Model zu ändern. Hat also nur lesenden Zugriff auf das Model.
23.07.2012
Vash 440 1 6

Stelle deine Mvvm-Frage jetzt!