Prototype
Descrição:
Especifica os tipos de objetos a serem criados usando uma instância prototípica e cria novos objetos copiando esse protótipo.
Diagrama de Classes genérico do padrão:
Exemplo:
A classe Prototype vai ter um método abstrato clone() que irá retornar um clone do objeto do tipo Dog ou do tipo Person, o método estará implementado nas classes Dog e Person, que herdam a classe Prototype.
Diagrama de Classes do exemplo:

