UML
UML steht für „Unified Modeling Language“ und gilt als der Standard für die Visualisierung, Dokumentation und Spezifikation von Software-Teilen. Über dieses Thema wurden einige sehr umfassende Bücher beschrieben. Ich will mich hier aber kurz fassen und nur die Themen auflisten, die für das Lesen der Design-Patterns in den nachfolgenden Beiträgen relevant sind.
Vererbung
Der nicht gefüllt Pfeil im obigen Bild bedeutet, dass „Klasse A“ von „Klasse B“ erbt.
Interface-Implementierung
Die strichlierte Linie mit dem nicht gefüllten Pfeil bedeutet, dass „Ferrari“ das Interface „IAuto“ implementiert.
Komposition
Der Diamant sagt aus, dass „Reifen“ ein Teil von „Auto“ ist. Übrigens – so nebenbei erwähnt – sollte Komposition (= ist Teil von) immer Vererbung (= ist) vorzuziehen ist, da wesentlich flexibler.
Navigierbarkeit
Diese Art des Pfeiles sagt aus, wer mit wem kommunizieren kann. In diesem Fall kann der Warenkorb Funktionen vom Zahl-Service aufrufen, andersrum der Zahl-Service aber keine vom Warenkorb.
Klassen
Klassen bestehen aus drei Teilen:
- der Name der Klasse
- Felder
- Methoden
Das – besagt, dass der Modifizierer „private“, + bedeutet, dass er „public“ ist.