Ankündigung

Einklappen
Keine Ankündigung bisher.

23: Hierarchisch Modell gestanden

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 23: Hierarchisch Modell gestanden

    23:
    Das Thema HMVC wurde in den vergangenen Monaten sehr häufig und kontrovers diskutiert. Daher möchte sich der Nikolaus dem Thema annehmen und eine kleine Einfühung geben.

    HMVC ist ― ähnlich dem Konzepten PAC ― eine Weiterentwicklung des bekannten MVC-Design-Pattern. Es beschreibt die Idee, einen definierten Bereich einer Software nicht nur in eine „MVC-Einheit“ zu kapseln, sondern in mehrere, die nach definierten Gesichtspunkten zusammenspielen.

    Durch die Gliederung einer Software in weitere mehrere, kleine „MVC-Einheiten“ ergibt sich eine bessere Granularität der Software, was einerseits die Wiederverwendbarkeit von Komponenten potentiell steigert und andererseits die Möglichkeit schafft, Applikationen gemäß ihren Use Cases zu strukturieren.

    Die konkrete Auslegung des Pattern ist dabei etwas komplizierter und nicht in einem Satz zusammenzufassen, denn hier ist eine Disziplin gefragt, die über die Anwendung eines einzelnen Pattern hinausgeht: the cooperation of design pattern. Es ist also zu entscheiden, welches Ziel bei der Implementierung verfolgt wird.

    Nehmen wir ein abgeschlossenes Modul ― beispielsweise ein Gästebuch ― so besteht der Nutzen darin, dass die für das Modul definierten Use Cases nahezu direkt in „MVC-Einheiten“ abgebildet werden können. Das Anzeige-Element bedient sich beispielsweise des gleichen Models (= Zustand einer Applikation) wie das Element, das das Eingabe-Formular anzeigt. So kann man sich beispielsweise zu Nutzen machen, dass eine Applikation in sich üblicherweise immer mit den selben Daten umgeht.

    Ein weiterer Aspekt ist die Kapselung von Funktionalitäten. Fasst der Entwickler eine mehrfach verwendete Funktion einer Software ein eine wiederverwendbare Einheit ab und kann er diese beliebig in andere Einheiten einsetzen, so lässt sich nicht nur Code sparen, sondern auch Komponenten wiederverwenden. Dies führt unweigerlich zu einer besseren Struktur und zu einer höheren Code-Qualität, da auch bewährte Komponenten gesetzt werden kann.

    Entscheidend beim Einsatz dieses Pattern sind die Hilfsmittel! So gilt es, eine Umgebung bereitzustellen, in der die „MVC-Einheiten“ verwaltet werden (Stichwort: object lifecycle management) und Mechanismen zu etablieren, die es erlauben, viele solcher Elemente zu einer Gesamt-Applikation zu komponieren ohne explizite und direkte Abhängigkeiten zu erzeugen. Eine weitere Anforderung ist es, die geschaffene Umgebung so generisch wie möglich auszulegen, damit es keiner Anpassung für jede konkrete Web-Applikation bedarf.

    HMVC ist demnach ein Pattern, das neben den bunten Vorteilen auch Nachteile mit sich bringt. Es braucht effektive Hilfsmittel! Wen das Thema mehr interessiert, kann die besinnliche Zeit dazu nutzen, etwas in unserem Software-Design-Forum zu schmökern.

    Euer Nikolaus

Lädt...
X