Templates / classDiagram

Observer pattern

Subject, observer interface, and two concrete observers — a template for documenting design patterns.

Open in studio

Preview

Mermaid 11 renderer

Rendering preview...

Mermaid source

classDiagram

classDiagram
    class Subject {
        -observers List~Observer~
        +attach(observer)
        +detach(observer)
        +notify()
    }
    class Observer {
        <<interface>>
        +update(event)
    }
    class EmailNotifier {
        +update(event)
    }
    class AuditLogger {
        +update(event)
    }
    Subject o-- Observer : maintains
    Observer <|.. EmailNotifier
    Observer <|.. AuditLogger

More templates