Skip to content
Mermaid templates

Observer Pattern (UML Class)

The Gang-of-Four Observer pattern as a class diagram.

Template previewMermaid
Rendering…

Make it your own.

classDiagram
    class Subject {
      +attach(o: Observer)
      +detach(o: Observer)
      +notify()
    }
    class Observer {
      <<interface>>
      +update()
    }
    class ConcreteSubject {
      -state
      +getState()
      +setState(s)
    }
    class ConcreteObserver {
      -subject
      +update()
    }
    Subject <|-- ConcreteSubject
    Observer <|.. ConcreteObserver
    Subject o--> "many" Observer : observers
    ConcreteObserver --> ConcreteSubject : subscribes