Java Reference
In-Depth Information
Es gilt der folgende Satz von Regeln:
1. Eine Schicht n hängt nur von der jeweils tiefer liegenden Schicht n - 1 ab.
2. Eine Schicht hängt nicht von den höheren Schichten ab.
3. Jede Schicht bietet Dienste für die jeweils höher liegende Schicht an.
4. Der Zugriff auf einen Dienst der nächst tieferen Schicht erfolgt über die Schnitt-
stellen dieser Schicht.
Eine tiefere Schicht kann die Dienste einer höheren Schicht nicht
aufrufen. Eine höhere Schicht kann jedoch auf die Dienste der
nächst tieferen Schichten zugreifen.
Jede Schicht verfügt über Schnittstellen zu Services der nächst tieferen Schicht. Die
Zahl der Schichten ist nicht von vorneherein festgelegt. Sie sollte aber überschaubar
sein. Eine höhere Schicht darf generell nur tiefere Schichten verwenden. In der Grund-
form des Musters darf eine Schicht nur auf die direkt darunter liegende Schicht zu-
greifen. Dies wird auch Strict Layering genannt. Der Begriff Layer Bridging wird da-
gegen verwendet, wenn eine Schicht auf alle unter ihr liegenden Schichten zugreifen
darf. Mit Layer Bridging wird Regel 1 aufgeweicht. Das folgende Bild gibt ein Beispiel
für Layer Bridging:
Schicht 4
Schicht 3
Schicht 2
Schicht 1
Bild 5-2 Beispiel für Layer Bridging
In Bild 5-2 greift die Schicht 4 direkt auf die Schicht 2 zu.
Beim Strict Layering darf eine Schicht nur auf die direkt darunter
liegende Schicht zugreifen, beim Layer Bridging hingegen darf
sie auf alle unter ihr liegenden Schichten direkt zugreifen.
Jede Schicht stellt eine Abstraktionsebene im System dar. In der älteren Literatur (Bei-
spiel: [Dij68]) wird eine Schicht auch als abstrakte Maschine 73 bezeichnet: Die über die
Schnittstelle einer Schicht nach oben zur Verfügung gestellten Funktionen werden da-
73 Der Begriff abstrakte Maschine ist hier im Gegensatz zu einer realen Maschine zu verstehen, die
tatsächlich in Hardware realisiert vorliegt. Heute würde man eher den Begriff virtuelle Maschine ver-
wenden.
Search WWH ::




Custom Search