¿Qué es la Ley de Demeter y por qué mejora tu código?

La Ley de Demeter, también conocida como el principio de “no hablar con extraños”, es una regla de diseño orientada a objetos que promueve el bajo acoplamiento entre clases. Fue formulada en los años 80 en el contexto de la programación orientada a objetos, y su objetivo es hacer que el código sea más mantenible, modular y fácil de entender.

¿Qué dice esta ley? Una clase debe comunicarse solo con sus amigos cercanos. Es decir, debe invocar métodos únicamente de:

  • Ella misma
  • Sus atributos directos
  • Parámetros recibidos
  • Objetos que crea directamente

¿Qué evita? Evita cadenas de llamadas como obj.getA().getB().doSomething(), que hacen que el código dependa de estructuras internas de otros objetos. Esto rompe el encapsulamiento y hace que el sistema sea frágil ante cambios.

Ejemplo práctico:

// Violación de la ley
cliente.getCuenta().getSaldo().actualizar();
// Cumpliendo la ley
cliente.actualizarSaldo();

Conclusión: Aplicar la Ley de Demeter no solo mejora la calidad del código, sino que también facilita su evolución. Es una forma elegante de decir: “No te metas donde no te llaman”.

Deja un comentario