dedlfix: HTML Meta Attribute von Seite bereit gestellt in SPA

Beitrag lesen

Tach!

Dass Du sehr genau gucken musst, wo sich "M", "V" und "C" befinden.
Wenn Du eine normale Client-Server-Architektur aufbaust, dann befinden sich M+C auf dem Server und der größte Teil von V auf einem (Thin-)Client.

Könnte man so sehen, wird aber üblicherweise nicht so gesehen. Die View ist die Ausgabe. Ob die dann anschließend noch anderswohin transportiert werden muss, ist nicht mehr Bestandteil des MVC-Musters. MVC beschreibt nicht das Gesamtsystem sondern ein Programmiermuster. (So wie Singleton beispielsweise nur von einem kleinen Teil beschreibt, wie dieser aufgebaut ist.) Dazu kommen noch andere Komponenten, um das System letztlich komlett zu bekommen, und nicht alle folgen einem Muster. MVC ist nur das Haupt-Muster, was in den so genannten MVC-Frameworks verwendet wird. (Andere wiederum behaupten, dass das was landläufig als MVC-Frameworks bekannt ist, gar nicht der eigentlichen Definition von MVC entspricht, aber das lass ich mal außen vor.)

Wenn Du jetzt eine SPA aufbaust, muss "V" selber ein (M)VC-Modell erhalten. Davon befinden sich dann V*+C* für auf dem Client und ggf, auch ein eigenes M*. Der Teil von V auf dem Server muss teilweise erstezt werden bzw. stillgelegt.

Eine SPA wird üblicherweise nicht nach MVC, sondern eher nach MVVM aufgebaut. Model-View-ViewModel. Model sind die eigentlichen Daten der Geschäftslogik. Die View ist das, was der Anwender sieht. Dafür werden oftmals weitere Daten benötigt, wie beispielsweise Labels der Eingabefelder. Aber auch Verhalten, weil auf Events reagiert werden sollen. Das ViewModel sind all die Daten, die die View benötigt, zuzüglich dessen, was man für die unmittelbare View-Steuerung benötigt. Also zum Beispiel der Code, der als Eventhandler dafür sorgt, dass nach 59 die 0 kommt und das Stunden-Feld eins hochgezählt wird.

MVVM in der SPA beim Client arbeitet auch hervorragend mit MVC auf der Serverseite zusammen. Als View wird dann halt nur das Model nach zum Beispiel JSON gewandelt.

MVC ist also kein geeignetes Beschreibungsmodell für Server-Client.SP-Allikationen.

Nicht nur das, in MVC ist gar nichts von Client-Server-Architektur enthalten. Das ist eine andere Baustelle.

dedlfix.