prototype.txt 587 B

123456789101112131415161718192021222324252627282930313233343536
  1. @startuml
  2. /' PROTOTYPE '/
  3. interface Prototype {
  4. # clone()
  5. }
  6. class Client {
  7. + setPrototype(Prototype *p)
  8. - private_prototype
  9. + client_clone()
  10. }
  11. class ConcretePrototype1 {
  12. + clone()
  13. }
  14. class ConcretePrototype2 {
  15. + clone()
  16. }
  17. hide empty members
  18. Client --> Prototype
  19. Prototype <|-- ConcretePrototype1
  20. Prototype <|-- ConcretePrototype2
  21. note as N1
  22. <b><color:royalBlue>Prototype</color></b>
  23. <b>Type:</b> Creational
  24. Spécifie l'objet par un constructeur nommé 'Prototype'
  25. et instancie des objets à traver le clonage du prototype.
  26. end note
  27. @enduml