123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- @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
- <b><color:royalBlue>Builder</color></b>
- <b>Type:</b> Creational
- Permet la séparation des méthodes
- de construction - un objet complexe
- peut avoir différentes représentations.
- end note
- @enduml
|