Der Name und die Beschreibung der Kapsel bringen die Rolle der Kapsel im System klar zum Ausdruck.
Die Kapsel hat einen klar definierten Zweck und umfasst eine Gruppe zusammengehöriger Zuständigkeiten.
Die Kapsel stellt einen relevanten Steuerungsfokus im System und einen relevanten Steuerungs-Thread im System dar.
Die Rollen der Kapsel spiegeln die externen Ports der Kapseln wider, und jede Rolle hat mindestens einen separaten Port.
Die Ports werden jeweils nur in einer Rolle verwendet.
Wo Bedarf besteht, die Interaktion paralleler Szenarios zu steuern, wurde eine Kapsel mit mehreren eindeutigen Ports verwendet.
Es wurden Schnittstellenkapseln verwendet, um im Hinblick auf künftige Änderungen eine Entkopplung zu erreichen.
Es werden Kapseln verwendet, um potenzielle künftige Änderungen und Designentscheidungen zu isolieren.
Es werden Koordinatorkapseln verwendet, um komplexe und dynamische Beziehungen zwischen Entitäten (1:N oder N:M) zu verwalten.
Es werden Koordinatorkapseln verwendet, wenn der Bedarf besteht, zwischen Kapseln zu vermitteln, um einen Prozess einzubinden.
Die Initialisierungsreihenfolge wurde berücksichtigt.
Das Starten und Synchronisieren unabhängiger Steuerungs-Threads wurde berücksichtigt.
Vererbung wird korrekt eingesetzt.
Es gibt kein Anzeichen für eine zu flache oder zu verschachtelte Generalisierungs-/Spezialisierungshierarchie.
Offensichtliche Gemeinsamkeiten sind in der Vererbungshierarchie wiedergegeben. Vererbung wird nicht primär für
Implementierungsaspekte (z. B. Wiederverwendung von Code), sondern als Mittel für die Erfassung allgemeiner
Designabstraktionen verwendet. Superklassen sind nicht einfach Zusammenführungen der Attribute der Unterklassen,
sondern stellen eine logische Abstraktion dar. Die Vererbungshierarchie enthält keine vorläufigen abstrakten Klassen
mit orthogonalen Eigenschaften.
|
|