Skip to content

Commit 9bcfaf6

Browse files
committed
Add note for aggregation
Also change the styling of notes so that users of this legend will not include those notes in their own diagrams.
1 parent 7e7a1fb commit 9bcfaf6

File tree

1 file changed

+62
-38
lines changed

1 file changed

+62
-38
lines changed

Diff for: doc/uml/class-diagram-technical.puml

+62-38
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ skinparam class {
1919
FontName Arial Unicode MS
2020
FontSize 20
2121
}
22+
23+
skinparam note {
24+
BackgroundColor LightBlue
25+
BorderColor #a0a0a0
26+
FontName Arial
27+
FontSize 14
28+
FontColor black
29+
RoundCorner 15
30+
LineType solid
31+
}
32+
2233
skinparam classFontSize 24
2334
skinparam classAttributeIconSize 0
2435
skinparam defaultFontSize 20
@@ -31,7 +42,6 @@ hide circle
3142
package java.util {
3243
class Observable {
3344
- changed: boolean
34-
- observers: Vector<Observer>
3545
+registerObserver(o: Observer)
3646
+unregisterObserver(o: Observer)
3747
#notifyObservers()
@@ -42,16 +52,6 @@ package java.util {
4252
}
4353
}
4454

45-
note "Package" as Package
46-
note "Subpackage" as Subpackage
47-
note "Klasse" as Class
48-
note "Interface" as Interface
49-
note "Vererbung" as Vererbung
50-
note "Implementierung" as Implementierung
51-
note "gerichtete Assoziation" as Assoziation
52-
note "generischen Typ binden" as Generics
53-
note "gerichtete Abhängigkeit:\n<<use>> benutzt\n<<create>> erzeugt\n<<call>> Aufruf" as Dependency
54-
5555
class ConcreteObservable {
5656
-concreteState: State
5757
+getState(): State
@@ -75,6 +75,48 @@ class StringUtils {
7575
+isEmpty(value: String) {static}
7676
}
7777

78+
Observable o- Observer : \t\t
79+
80+
Observer <|.. AbstractObserver
81+
AbstractObserver <|-- ConcreteObserver : <<bind>> \n<T -> ConcreteObserver>
82+
ConcreteObservable <-left- ConcreteObserver : \t\t
83+
ConcreteObservable .down.> StringUtils : <<use>>
84+
85+
' Notes
86+
87+
note "Package" as Package
88+
note "Subpackage" as Subpackage
89+
note "Klasse" as Class
90+
note "Interface" as Interface
91+
note "Vererbung" as Vererbung
92+
note "Implementierung" as Implementierung
93+
note "gerichtete Assoziation" as Assoziation
94+
note "generischen Typ binden" as Generics
95+
note "gerichtete Abhängigkeit:\n<<use>> benutzt\n<<create>> erzeugt\n<<call>> Aufruf" as Dependency
96+
note "Aggregation" as Aggregation
97+
98+
java .right[#lightblue,dotted]. Package
99+
util .down[#lightblue,dotted]. Subpackage
100+
Observable .up. Class
101+
Observable .[#lightblue,dotted]. Vererbung
102+
ConcreteObservable .up[#lightblue,dotted]. Vererbung
103+
Observer .up. Interface
104+
105+
Observer .up[#lightblue,dotted]. Aggregation
106+
Aggregation .up[#lightblue,dotted]. Observable
107+
108+
Observer .down[#lightblue,dotted]. Implementierung
109+
AbstractObserver .up[#lightblue,dotted]. Implementierung
110+
111+
ConcreteObserver .down[#lightblue,dotted]. Assoziation
112+
ConcreteObservable .down[#lightblue,dotted]. Assoziation
113+
114+
ConcreteObserver .up[#lightblue,dotted]. Generics
115+
AbstractObserver .down[#lightblue,dotted]. Generics
116+
117+
ConcreteObservable .[#lightblue,dotted]. Dependency
118+
StringUtils .up[#lightblue,dotted]. Dependency
119+
78120
note right of ConcreteObservable::concreteState
79121
Objektvariable
80122
vom Typ <i>State</i>
@@ -90,33 +132,6 @@ note right of ConcreteObservable::setState
90132
Parametertyp <i>State</i>
91133
end note
92134

93-
94-
Observable o- Observer : \t\t
95-
96-
Observer <|.. AbstractObserver
97-
AbstractObserver <|-- ConcreteObserver : <<bind>> \n<T -> ConcreteObserver>
98-
ConcreteObservable <-left- ConcreteObserver : \t\t
99-
100-
java .right. Package
101-
util .down. Subpackage
102-
Observable .up. Class
103-
Observable .. Vererbung
104-
ConcreteObservable .up. Vererbung
105-
Observer .up. Interface
106-
107-
Observer .down. Implementierung
108-
AbstractObserver .up. Implementierung
109-
110-
ConcreteObserver .down. Assoziation
111-
ConcreteObservable .down. Assoziation
112-
ConcreteObservable .down.> StringUtils : <<use>>
113-
114-
ConcreteObserver .up. Generics
115-
AbstractObserver .down. Generics
116-
117-
ConcreteObservable .down. Dependency
118-
StringUtils .up. Dependency
119-
120135
note right of StringUtils::isEmpty
121136
statische Methode
122137
end note
@@ -130,4 +145,13 @@ note as floating
130145
- private
131146
end note
132147

148+
note as notes
149+
<u><b>Anmerkungen</b></u>
150+
151+
Die blauen Boxen und Linien
152+
sind nur Anmerkungen. In
153+
eigenen Diagrammen werden
154+
sie nicht verwendet.
155+
end note
156+
133157
@enduml

0 commit comments

Comments
 (0)