Patrón Prototype
¿Qué es el Patrón Prototype?
El Prototype es un patrón de diseño creacional que permite copiar objetos existentes sin depender de sus clases. Esto es especialmente útil cuando crear un objeto desde cero es costoso o complicado.
Código de Ejemplo en JavaScript
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
clone() {
return new Person(this.name, this.age);
}
info() {
console.log(`Nombre: ${this.name}, Edad: ${this.age}`);
}
}
// Uso del Prototype
const original = new Person("Juan", 30);
original.info(); // Nombre: Juan, Edad: 30
const clone = original.clone();
clone.info(); // Nombre: Juan, Edad: 30
console.log(original === clone); // false, son objetos distintos
Casos de Uso
- Clonar objetos complejos sin recrearlos desde cero.
- Evitar dependencias con clases específicas.
- Copiar estructuras de datos o configuraciones predeterminadas.
Patrones Relacionados
- Singleton: Garantiza una única instancia de una clase, mientras que Prototype clona nuevas instancias.
- Factory Method: Crea objetos, pero Prototype los copia.
- Builder: Construye objetos paso a paso, no los clona.