¿Listo para dominar la API de WhatsApp?
Empieza gratis hoy en WhatzMeApi.com 🚀

1) Conceptos clave

  • Encapsulamiento: estado privado, métodos públicos.
  • Abstracción: define qué hace, no cómo.
  • Herencia: úsala poco; prefiere composición.
  • Polimorfismo: interfaces para variar comportamientos.

2) Modela bien el dominio

  • Entidad: identidad estable (id).
  • Value Object: por valor, inmutable (usa record).
public record Money(BigDecimal amount, Currency currency) {
  public Money {
    if (amount.signum() < 0) throw new IllegalArgumentException();
  }
}

3) Ejemplo mínimo con estrategia (polimorfismo)

interface DiscountPolicy { Money apply(Money total); }

final class PercentageDiscount implements DiscountPolicy {
  private final BigDecimal pct; // 0..1
  PercentageDiscount(BigDecimal pct){ this.pct=pct; }
  public Money apply(Money t){ return new Money(t.amount().multiply(BigDecimal.ONE.subtract(pct)), t.currency()); }
}

final class NoDiscount implements DiscountPolicy {
  public Money apply(Money t){ return t; }
}

Cambias la regla creando otra clase que implemente DiscountPolicy sin tocar el resto del código.

Obtén descuentos exclusivos de nuestros cursos en vivo en línea

Capacítate con los expertos

4) Principios que sí importan

  • SRP: una clase, un motivo de cambio.
  • OCP: agrega reglas nuevas sin editar las existentes.
  • DIP: depende de interfaces; inyecta implementaciones.

5) Antipatrones a evitar

  • Anemic Model: objetos con solo getters/setters.
  • God Object: una clase que hace todo.
  • Herencia por defecto: usa composición primero.

6) Checklist para tu próximo PR

  • ¿Usaste interfaces para reglas que cambian?
  • ¿Value Objects inmutables donde aplica?
  • ¿Clases con una responsabilidad?
  • ¿Tests unitarios del dominio (sin levantar Spring)?

7) Plan en 3 pasos

  1. Identifica una regla variable (p. ej., descuento).
  2. Extrae interfaz + 2 estrategias (NoDiscount, PercentageDiscount).
  3. Crea 3 tests de dominio que validen el comportamiento.

¿Listo para dominar la API de WhatsApp?
Empieza gratis hoy en WhatzMeApi.com 🚀

About Author

Giss Trejo

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
La mas nueva
Más antiguo Más votada
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax