MVP - Zombies leben länger

Wenn man bei Microsoft Technologie die Abkürzung MVP liest, so denkt man vorab an die netten Mädels und Jungs, die viel für die Technologie von Microsoft schreiben und erzählen. Aber es gibt auch das Model View Presenter Pattern, welches auch für die Freunde des Client Application Blocks nicht ganz unerheblich ist. Da gibt es nun etwas neues zu lesen (Florian machte mich in seinem Blog darauf aufmerksam)

Model View Presenter

Während Patternvater Martin Fowler die "Retirement note for Model View Presenter Pattern" verfasst hatte, lässt Jeremy D. Miller -- The Shade Tree Developer das Pattern wieder auferstehen. Allerdings in der von Fowler ebenfalls verfassten Passive View (aka Passive Screen) und Supervising Controller (aka Supervising Presenter) aktualisierten aufgeteilten Versions des verstorbenen MVP Patterns.

Der Unterschied von Jeremy Miller's Interpretation zum (MVVM) Model-View-ViewModel ist so marginal, dass es wenig sinnvoll erscheint, dieses noch als eigenes Pattern zu führen. Interessant dabei ist, dass Jeremy das MVVM durchaus bekannt ist und er es auch erwähnt. Was übrigens auch für das MVC und MVP gilt. Denn beide Ansätze wurden in ihrer jeweils überarbeiteten Form immer ähnlicher. So wird seitens der Java (besonders hier die J2EE) Gemeinde schon seit Jahren ein MVC Type-II gepredigt, welches gerade im Bereich der Webseiten-Entwicklung eine bessere Abbildung der Architektur erlaubt.

Data-ViewModel-View

Florian machte in seinem Blog noch auf das Data-ViewModel-View (DM-V-VM) von Dan Crevier aufmerksam, das er für WPF von John Gossmann adaptierte. Schon in den ersten Zeilen erklärt Dan Crevier

"John Gossman has blogged several times about the M-V-VM pattern for developing WPF applications. We've been using a similar pattern on the Max team, with slightly different terminology (DataModel instead of ViewModel). "

Doch dabei verliert sich Dan durch seine Codenähe etwas in der Abstraktion und hebt Unterschiede hervor wie "When data is expensive to fetch, it abstracts away the expensive operations, never blocking the UI thread (that is evil!). ". Florian identifiziert diese Variante nicht zu unrecht als MVP Variante: "It took a while until I realized that this is an incarnation of what Martin Fowler describes as PresentationModel.".

Es ist für ein Pattern nicht zwingend unerheblich, ob Konnektoren (uh, what a denglisch) asynchron oder synchron erfolgen, doch daraus ein vollständig eigene Pattern-Terminologie aufzubauen macht wenig glücklich.

Wie viele Pattern hätten Sie denn gern?

Wenn sich Technologie vom Prinzip her annähert, so ist es wenig verwunderlich, dass sich auch die Pattern dazu annähern. Seien wir bitte nicht allzu überrascht. Doch sollten wir versuchen, uns nicht von Kleinigkeiten den Blick für das Große versperren zu lassen und beharrlich darauf drängen, dass eine einigermaßen vereinheitlichte Terminologie entsteht.

Filed under: , , ,

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required)