Inhalt Abbildung PDF Source OO-Designkurs
 |<    <     >    >|  Generated by CoCoDiL

3.5 Entkopplung

3.5.1 Fassade Pattern

Klassen kapseln Zustand und Operationen. Subsysteme kapseln Klassen. Subsysteme lassen sich mit Hilfe von Fassadenobjekten definieren.


Abb. 3.9: Ohne Fassade Pattern



Abb. 3.10: Mit Fassade Pattern

Vorteile des Fassade Patterns:

Allerdings besteht die Gefahr, daß das Fassadenobjekt zu gross wird, das Fassadenpattern eignet sich nur für kleine Subsysteme.

3.5.2 Inverted Association Pattern


Abb. 3.11: Zirkuläre Abhängikeit zweier Klassen

Das Inverted Association Pattern ist eine Verallgemeinerung des Beobachter Patterns, das weiter unten ausführlich erklärt wird.


Abb. 3.12: Abhängigkeit aufgelöst

Dieses Pattern wird genommen, wenn 2 Klassen gegenseitig voneinander abhängig sind, aber eine Richtung dominiert. Im unteren Beispiel geht der Methodenfluß hauptsächlich von Klasse A nach Klasse B. Die Idee ist, die nicht dominierende Richtung nur durch ein einfaches standardisiertes Protokoll zu realisieren. Eine abstrakte Klasse definiert das Protokoll. Die Klasse B teilt der Klassse A nur die notwendigsten Dinge über das standardisierte Protokoll mit. Siehe ausführliches Beispiel im Beobachter Pattern.

Inhalt Abbildung PDF Source OO-Designkurs
 |<    <     >    >|  Generated by CoCoDiL