@startuml
/' BUILDER '/
class Director {
- builder
+ construct()
+ setBuilder(Builder)
+ Product getProduct()
}
interface Builder {
# buildPartA()
# buildPartB()
# buildPartC()
}
class ConcreteBuilderFirst {
+ buildPartA()
+ buildPartB()
+ buildPartC()
+ getResult()
}
class ConcreteBuilderSecond {
+ buildPartA()
+ buildPartB()
+ buildPartC()
+ getResult()
}
Director *- Builder
Builder <|-- ConcreteBuilderFirst
Builder <|-- ConcreteBuilderSecond
note as N1
Builder
Type: Creational
Permet la séparation des méthodes
de construction - un objet complexe
peut avoir différentes représentations.
end note
@enduml