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.