@startuml
/' OBSERVER '/
interface Subject {
- vObserver : Vector
+ attach(in o : Observer)
+ detach(in o : Observer)
+ notify()
# getState()
# setState()
}
class ConcreteSubject {
- subjectState : Int
+ getState()
+ setState()
}
interface Observer {
# update(s : Subject) : Context
# getState() : Int
# getId() : Int
}
class ConcreteObserver {
- observerState : Int
+ update()
+ getState()
+ setState()
}
hide empty members
Subject ->"0..*" Observer : notifies
Subject <|-- ConcreteSubject
Observer <|-- ConcreteObserver
ConcreteSubject <- ConcreteObserver : observes
note as N1
Observer
Type: Behavioral
Définit une relation un à plusieurs
pour réaliser la mise à jour lors
d'un changement d'état. Tous les objets
dépendants sont notifiés automatiquement.
end note
@enduml