Java Reference
In-Depth Information
5.1 Das Architekturmuster Layers
Das Architekturmuster Layers modelliert die Struktur eines Systems in Schichten mit
Client/Server-Beziehungen zwischen den Schichten.
5.1.1 Name/Alternative Namen
Schichtenmodell, Layers.
5.1.2 Problem
Ein Softwaresystem soll in eine überschaubare Zahl von Teilsystemen als horizontale
Schichten geschnitten werden. Miteinander verwandte Aspekte des Systems sollen je-
weils in einer eigenen Schicht konzentriert werden. Jede Schicht soll eine Abstraktion
der in ihr enthaltenen Funktionalität sein. Funktionen einer höheren Schicht sollen sich
auf die Funktionen der nächst tieferen Schicht beziehen, diese aufrufen und die Ant-
wort zurückerhalten. Zwischen jeweils zwei Schichten soll also das Client-Server-Prin-
zip gelten, wobei die Server-Schicht wiederum als Client auftreten soll, wenn sie auf
die nächst tiefere Schicht zugreift.
Auf diese Weise soll die Zahl der Abhängigkeitsbeziehungen eingeschränkt werden.
Die Entwicklung der einzelnen Funktionen soll dadurch erleichtert werden und mög-
liche Code-Änderungen sollen lokal in ihrer Auswirkung bleiben.
5.1.3 Lösung
Aufgrund zu hoher Komplexität eines Systems wird dessen Softwarearchitektur in
mehrere übereinanderliegende horizontale Schichten eines sogenannten Schichten-
modells gegliedert. Dabei enthält jede Schicht (engl. tier oder layer ) konzeptionell eine
bestimmte Unteraufgabe eines Systems in abstrakter Form (z. B. Kommunikation, Da-
tenhaltung). Das Aufteilen in Schichten erfolgt in der Regel nach funktionalen Ge-
sichtspunkten. Im Folgenden die Skizze eines Schichtenmodells:
. . .
. . .
Schicht n+1
Schicht n
Schicht n-1
. . .
Bild 5-1 Schichtenmodell
Dabei soll eine tiefere Schicht einer höheren Schicht Funktionalität bereitstellen, indem
sie Dienste (engl. services) anbietet und ein Ergebnis an die aufrufende Schicht liefert.
Sie soll also auf Dienstanforderungen antworten. Für die Schichten gilt das Client-Ser-
ver-Prinzip.
Search WWH ::




Custom Search