Richtlinie: Importabhängigkeit im Design
Importabhängigkeit ist eine Beziehung zwischen Paketen. Diese Richtlinie beschreibt diese Beziehung.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Erläuterung

Die Handhabung von Importabhängigkeiten zwischen Paketen ist ein wichtiger Aspekt bei der Strukturierung eines Objektmodells. Ein Paket ist von einem anderen abhängig, wenn eine seiner Klassen Beziehungen hat, die zu Klassen in dem anderen Paket führen. Für die Beschreibung solcher Abhängigkeiten wird die Importabhängigkeit von einem Paket zu dem Paket, von dem es abhängig ist, verwendet.

Abbildung, die die Beziehungen zwischen einer Komponente und einem Bediener, einer Alarmeinheit und einem Drucker, einem Kunden und einem Pfandartikel zeigt

Abhängigkeiten zwischen Paketen werden durch Importabhängigkeiten ausgedrückt.

Verwendung

Sie entwickeln Importabhängigkeiten wie folgt:

  • Bevor Sie mit der Bearbeitung des Objektmodells beginnen, erstellen Sie einen Entwurf der Abhängigkeiten, den Sie als Richtlinie für die Bearbeitung verwenden.
  • Verwenden Sie das fertig gestellte Modell, um die tatsächlich vorhandenen Abhängigkeiten aufzuzeigen. Dazu gehört auch die Aktualisierung der Importabhängigkeiten im Objektmodell.
  • Wenn Sie das Modell zuvor in Pakete aufgeteilt haben, können Sie mit den Importabhängigkeiten aufzeigen, wo Abhängigkeiten zulässig sind.
  • Wie Pakete voneinander abhängen, wirkt sich auf die Toleranz des Systems in Bezug auf Änderungen aus. Ein Objektmodell lässt sich einfacher ändern, wenn Sie
  • die externen Referenzen auf die in den einzelnen Paketen enthaltenen Klassen so gering wie möglich halten. Wenn Sie auf viele Klassen verweisen, kann das Paket zu viele unterschiedliche Zuständigkeiten haben und sollte deshalb auf zwei Pakete verteilt werden.
  • dafür sorgen, dass jedes Paket nur von wenigen anderen Paketen abhängig ist.
  • jedes Paket gesondert testen. Das bedeutet, dass Sie in der Lage sein müssen, ein Paket durch Simulation des Pakets, von dem das Paket abhängig ist, zu testen. Die Implementierung anderer vollständig oder nahezu vollständig implementierter Pakete sollte nicht vorausgesetzt werden. Wenn Sie ein Paket gesondert testen können, wird die Systementwicklung und -pflege für jedes Paket einfacher.
  • allgemeine Teile des Objektmodells in gesonderte Pakete stellen, von denen anderen Pakete abhängig sind. Wenn ein solches Paket vorhanden ist, müssen Sie bei Releases extrem sorgfältig vorgehen, da sich Änderungen am Paket auf andere Teile des Systems auswirken können.

Beispiel

Angenommen, Sie finden Gemeinsamkeiten für die Klassen Kundenanzeige und Bedieneranzeige in der Recycling-Maschine. Sie können diese gemeinsamen Services einer neuen Klasse Anzeige zuordnen, die Sie ein neues Paket Anzeigen stellen. Die anderen beiden Klassen können dann auf diese Klasse verweisen, um die gemeinsamen Services zu verwenden. Da die Klassen zu zwei gesonderten Paketen gehören, sind die beiden Pakete vom neuen Paket abhängig. Dieser Ausschluss von Redundanz impliziert, dass Änderungen an gemeinsamer Funktionalität nur an einer Stelle vorgenommen werden müssen.