- Knowledge Level
-
Knowledge Level ist ein Analysemuster von Martin Fowler und gehört zu den Organization Structures.
Knowledge Level unterscheidet zwischen zwei Ebenen auf denen Objekte und deren Beziehungen modelliert werden. Zum Einen den „Operational Level“, auf dieser Ebene werden die individuellen Beziehungen zwischen den Klassen definiert. Zum Anderen den „Knowledge Level“, oft auch Meta-Ebene genannt, hier werden die Strukturregeln definiert, denen die Beziehungen der Objekte auf operationaler Ebene folgen.
Inhaltsverzeichnis
Beispiel
Auf Metaebene wird eine Klasse Mitarbeitertyp definiert. Jedem Mitarbeitertyp ist eine entsprechende Pensionsart und eine Vertragsart wie beispielsweise Arbeiter oder Angestellter zugewiesen. Diese Definitionen sind eher struktureller Art und ändern sich selten. Dagegen ist die Zuordnung eines Mitarbeiters zu einer Abteilung eine individuelle Beziehung, die sich durchaus oft ändern kann.
Knowledge Level
Durch die Einführung einer Metaebene werden die strukturellen Abhängigkeiten von den operativen Beziehungen getrennt. Das Ziel dieser Trennung ist die Möglichkeit, Erweiterungen und Änderungen ohne Veränderung am Quellcode vornehmen zu können.
Verwendungszweck
Die Verwendung des Musters Knowledge Level erleichtert spätere Änderungen und Erweiterungen und führt zu einer besseren Wartbarkeit des Programms. Im Idealfall können Änderungen sogar ohne Anpassung des Quellcodes vorgenommen werden. Des Weiteren wird durch die Trennung von „operational level“ und „knowledge level“ Komplexität aus dem Entwurf genommen und die Verständlichkeit verbessert.
Weblinks
Wikimedia Foundation.