Padrão de criação cujo o objetivo é especificar os tipos de objetos a serem criados usando uma instancia-protótipo e criar novos objetos pela copia desse protótipo, ou seja, é um padrão de criação cujo a função é usar objetos para criar novos produtos e não classes deixando assim o código mais flexível.