Skip to the content.

Home / cs-notes / Design / Design Patterns / Structural Patterns / Decorator

@startuml

interface Component {
    + operate()
}

class ComponentA {
    + operate()
}

interface Decorator {
    # getDecorated(): Component
    + operate()
}

ComponentA ..up|> Component
Decorator --up|> Component
Decorator *-- Component

class Decorator1 {

}

class Decorator2 {
    
}

Decorator1 ..up|> Decorator
Decorator2 ..up|> Decorator

@enduml