Builder pattern
UML Code (PlantUML)
@startuml left to right direction Builder <|-- ConcreteBuilder Director o-- Builder ConcreteBuilder..> Product class Director{ Builder : builder construct() } interface Builder{ {abstract} buildPart() } class ConcreteBuilder{ buildPart() getResult() : Product } class Product{ } @enduml