Sobes.tech
Junior — Middle

Pode contar uma situação em que aplicou o padrão Prototype nos seus projetos?

sobes.tech IA

Resposta da IA

O padrão Prototype é utilizado quando é necessário criar novos objetos clonando os já existentes, especialmente se criar um objeto "do zero" for dispendioso ou complicado.

Num dos meus projetos, utilizei o Prototype para criar múltiplas configurações semelhantes de objetos com pequenas diferenças. Em vez de preencher manualmente todos os campos, implementei o método clone(), que criava uma cópia do objeto, e depois apenas alterava os parâmetros necessários.

Exemplo em Java:

public class Config implements Cloneable {
    private String param1;
    private int param2;

    public Config(String p1, int p2) {
        this.param1 = p1;
        this.param2 = p2;
    }

    @Override
    protected Config clone() throws CloneNotSupportedException {
        return (Config) super.clone();
    }
}

// Uso:
Config original = new Config("default", 10);
Config copia = original.clone();
copia.param2 = 20; // apenas alteramos o necessário

Isto acelerava a criação de objetos e reduzia a duplicação de código.