Café y Código

2. Patrones creacionales

Estos patrones ofrecen mecanismos de creación que hacen el sistema más flexible: encapsulan quién crea qué, cuándo y cómo, para que el resto del código dependa de abstracciones y no de new dispersos.

Referencia general:Catálogo — Refactoring.Guru(navegación por categorías dentro del sitio).

Factory Method(Refactoring.Guru ↗)

Delegas la creación de objetos a subclases o métodos especializados sin acoplar el cliente al tipo concreto.

Ejemplo ilustrativo — Factory Method
JAVA
1interface Transporte { void entregar(); }
2
3abstract class Logistica {
4 abstract Transporte crearTransporte();
5 void planEntrega() { crearTransporte().entregar(); }
6}

Abstract Factory(Refactoring.Guru ↗)

Familias de objetos relacionados se crean mediante una fábrica abstracta con varias implementaciones.

Ejemplo ilustrativo — Abstract Factory
JAVA
1interface Boton { void pintar(); }
2interface FabricaUi {
3 Boton crearBoton();
4}

Builder(Refactoring.Guru ↗)

Construyes objetos complejos paso a paso, a menudo con un director que orquesta el orden de los pasos.

Ejemplo ilustrativo — Builder
JAVA
1class Pizza {
2 String masa, salsa;
3 static class Builder {
4 Pizza p = new Pizza();
5 Builder masa(String m) { p.masa = m; return this; }
6 Pizza build() { return p; }
7 }
8}

Prototype(Refactoring.Guru ↗)

Clonas un prototipo en lugar de instanciar desde cero cuando la creación directa es costosa o incómoda.

Ejemplo ilustrativo — Prototype
JAVA
1interface ClonableForma extends Cloneable {
2 ClonableForma clonar();
3}

Singleton(Refactoring.Guru ↗)

Una sola instancia controlada del tipo; úsalo con cuidado para no ocultar dependencias globales.

Ejemplo ilustrativo — Singleton
JAVA
1public enum Config {
2 INSTANCE;
3 public void cargar() { /* ... */ }
4}
Ko-fi
Donaciones
Apoyá cafeycodigo con un café en Ko-fi. Colaboradores: insignia, muro y zona exclusiva.