@startuml
'figure 1: The Decorator Pattern'
skinparam monochrome true
skinparam handwritten false
skinparam shadowing false
skinparam classAttributeIconSize 0
hide class circle
hide abstract circle

abstract class Interface {
    + someAction()
}

class Core {
    + someAction()
}

class Decorator1 {
    + someAction()
}

class Decorator2 {
    + someAction()
}

Decorator2 *-- Decorator1
Decorator1 *-- Core

Interface <|.. Core
Interface <|.. Decorator1
Interface <|.. Decorator2

@enduml
