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: Imagem do UML padrão do Prototype

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:

Imagem do Diagrama de Classes do exemplo de Prototype

Ver código fonte no Github