¿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
DiscountPolicysin tocar el resto del código.💼 Empleos tech relacionados:
- Becario TI - Temporal 1 año · LABORATORIOS SOPHIA
- Analista QA Automatizacion 2 · Company Test 170801
2,897 vacantes activas en LATAM · ver todas → · ⭐ Opiniones en Google
¿En qué te ayudamos hoy?
🎓 Cursos confirmados con 50% OFF hoyInicia 14 Nov — cupo limitado para lectores del blog:
- 💬 Consultor API REST con .Net Core · Inicia 14 Nov · sabatino ·
$10,930$5,465 (-50%) MXN- 💬 Consultor AWS Despliegue de Apps · Inicia 21 Nov · sabatino ·
$8,130$4,065 (-50%) MXN- 💬 Diplomado Java Empresarial Desde Cero · Inicia 28 Nov · sabatino ·
$39,990$19,995 (-50%) MXNPor WhatsApp en horario habil · ver todos los cursos → · ⭐ Opiniones en Google
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
- Identifica una regla variable (p. ej., descuento).
- Extrae interfaz + 2 estrategias (
NoDiscount,PercentageDiscount). - Crea 3 tests de dominio que validen el comportamiento.
¿Listo para dominar la API de WhatsApp?
Empieza gratis hoy en WhatzMeApi.com 🚀
💼 Empleos tech relacionados:
- Becario TI - Temporal 1 año · LABORATORIOS SOPHIA
- Analista QA Automatizacion 2 · Company Test 170801
2,897 vacantes activas en LATAM · ver todas → · ⭐ Opiniones en Google



