Files
.idea
Writerside
cfg
images
topics
02
BS
OOAD
AgileDesign.md
DesignPatterns.md
DesignPrinciples.md
DesigningForMaintainability.md
ImplementingForMaintainability.md
IntroductionOOAD.md
Praktikum3_Diagramme.md
Praktikum4_Diagramme.md
RequirementsAnalysis.md
SOLID-Principle.md
SoftwareProcesses.md
UML.md
UMLKlassenDiagramme.md
UMLSequenzDiagramme.md
UMLStateDiagramme.md
RA
04
06
StartPage.md
c.list
in.tree
v.list
writerside.cfg
.gitlab-ci.yml
README.md
zusammenfassungen/Writerside/topics/02/OOAD/Praktikum4_Diagramme.md
David Schirrmeister 73e1392286 update
2024-12-05 13:53:10 +01:00

3.5 KiB

@startuml
class Subject <<abstract>>{
+ ~Subject()
+ attach(obersever: Observer*): void
+ detach(observer: Observer*): void
+ notify(): void
}

class Observer <<interface>>{
+ {abstract} update(): void
+ ~Observer()
}

class SystemBattery{
+ setBatteryLevel(data: int): void
+ getData(): int
- BatteryLevel: int
}

class BatteryApp{
+ BatteryApp(subject: SystemBattery&, name: string)
+ update(): void
- name: string
}

class BatteryLogger{
+ BatteryLogger(subject: SystemBattery&, name: string)
+ update(): void
- name: string
}

Subject <|-- SystemBattery 
Observer <|-- BatteryApp 
Observer <|-- BatteryLogger

SystemBattery "1" *- "*" BatteryApp: - subject: SystemBattery&
SystemBattery "1" *- "*" BatteryLogger: - subject: SystemBattery&
Subject "*" -o "*" Observer: - observers: list<Observer*>


@enduml