Skip to content

Commit 306c2b3

Browse files
authored
Merge pull request #1400 from uhafner/aggregation
Add note for aggregation
2 parents 7e7a1fb + 9bcfaf6 commit 306c2b3

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)