Java Reference
In-Depth Information
x Code-Abhängigkeiten können minimiert werden, d. h. Änderungen am Quellcode
sollten wenige Ebenen betreffen.
x Nach Festlegung der Schnittstellen können die einzelnen Ebenen parallel entwickelt
werden.
x Die Schichten können sehr gut bottom-up integriert und getestet werden.
5.1.4.2 Nachteile
Die folgenden Nachteile treten beim Architekturmuster Layers auf:
x Die Regel des Strict Layering, dass ein Zugriff nur auf die benachbarte Ebene er-
folgt, ist oft zu einschränkend. Diese Regel kann aber umgangen werden, wenn die
Performance gesteigert werden soll (Layer Bridging).
x Es liegt auf der Hand, dass eine Anfrage, die von Schicht zu Schicht weitergereicht
wird, zeitaufwendiger als ein direkter Zugriff ist.
x Änderungen können sich über Schichten hinaus auswirken. Manche Arbeiten wie
z. B. eine Korrektur von Fehlern können alle Schichten betreffen. Dies bedeutet
Mehraufwand.
x Es kann schwierig sein, die "richtige" Anzahl von Schichten zu finden.
5.1.5 Einsatzgebiete
Der Einsatz des Musters Layers kann überall da erfolgen, wo nach dem Client-Server-
Prinzip modelliert wird. Zusammengehörige Funktionen werden in einer eigenen
Schicht abstrahiert. Oftmals stellt aber auch eine höhere Schicht eine Abstraktion einer
tieferen Schicht dar. So abstrahiert z. B. die Schicht Betriebssystem die Schicht der
Hardware eines Rechners.
Beispiele für Schichtenmodelle sind die Zusammenarbeit zwischen Rechner-Hard-
ware, Betriebssystem und Anwendungssoftware (siehe Kapitel 5.1.5.1), das Schich-
tenmodell für die Anwendungssoftware von Rechnern (siehe Kapitel 5.1.5.2) oder das
in Kapitel 5.1.5.4 gezeigte ISO/OSI-Modell für das Kommunikationssystem eines
Rechners.
Praktisch jedes Application Programming Interface (API) stellt eine Schicht dar, die
von der darunterliegenden Schicht abstrahiert. Als Beispiel hierfür seien die Standard-
bibliotheken der Programmiersprache C genannt: sie abstrahieren von den speziellen
Gegebenheiten des darunter liegenden Betriebssystems. Speziell bei der Ein- und
Ausgabe werden sogar noch zwei Schichten unterschieden: die low-level sowie die
high-level Ein- und Ausgabe.
Auch virtuelle Maschinen stellen ein Anwendungsgebiet des Architekturmusters Layers
dar. Beispielsweise abstrahiert die Java-Virtuelle Maschine von der zugrunde liegen-
den realen Hardware. Die Java-Virtuelle Maschine ist in der Lage, einen sogenannten
Bytecode zu verarbeiten, der wesentlich kompakter und abstrakter ist als normaler
Maschinencode.
Search WWH ::




Custom Search