@startuml /' PROTOTYPE '/ interface Prototype { # clone() } class Client { + setPrototype(Prototype *p) - private_prototype + client_clone() } class ConcretePrototype1 { + clone() } class ConcretePrototype2 { + clone() } hide empty members Client --> Prototype Prototype <|-- ConcretePrototype1 Prototype <|-- ConcretePrototype2 note as N1 Prototype Type: Creational Spécifie l'objet par un constructeur nommé 'Prototype' et instancie des objets à traver le clonage du prototype. end note @enduml