O padrão prototype é um padrão utilizado basicamente para clonar objetos.
O padrão prototype permite copiar objetos existentes e modificar eles da maneira que desejar sem ter o trabalho de criar e configurar um objeto do princípio.
Ele deve ser utilizado quando queremos um objeto exatamente igual ou quando o custo de criação de um objeto for grande.