Principio de Conocimiento Mínimo (Ley de Deméter) – Código con Bajo Acoplamiento

El Principio de Conocimiento Mínimo promueve la disminución del acoplamiento en el desarrollo de software, facilitando un código más limpio.

29 may 2025

DevelopersTechnologyBusiness

📌 Principio de Conocimiento Mínimo (Ley de Deméter): Mejora la Mantenibilidad del Código

El Principio de Conocimiento Mínimo promueve la disminución del acoplamiento en el desarrollo de software, facilitando un código más limpio.

🧐 ¿Qué es la Ley de Deméter? 🤔

La Ley de Deméter establece que un objeto debe conocer solo a sus colaboradores más cercanos, reduciendo el conocimiento y las dependencias de otros componentes del sistema. Esto resulta en una estructura de código más flexible y fácil de mantener.

🚀 Beneficios clave de aplicar la Ley de Deméter 🌟

  • Reducción de acoplamiento: Minimiza las dependencias entre clases y módulos.
  • Mayor mantenibilidad: Hace más sencillo entender y modificar el código.
  • Menor impacto ante cambios: Los ajustes en un módulo influyen poco en otros.
  • Código más claro: Simplifica la forma en que los objetos interactúan.

🎯 Estrategias para aplicar correctamente la Ley de Deméter 🛠️

  1. Comunicación directa: Interactúa exclusivamente con colaboradores inmediatos.
  2. Evita cadenas largas de llamadas: No accedas a objetos a través de otros (ej. obj.a.b.c).
  3. Define interfaces claras: Utiliza métodos explícitos para evitar conocimiento indirecto.
  4. Delegación: Distribuye responsabilidades de forma clara.

🛠️ Ejemplo práctico: Aplicando la Ley de Deméter en JavaScript 📈

Violación de la Ley de Deméter:

class Motor {
  arrancar() {
    console.log("Motor encendido");
  }
}

class Automovil {
  constructor() {
    this.motor = new Motor();
  }
}

class Persona {
  constructor() {
    this.auto = new Automovil();
  }

  iniciarAuto() {
    this.auto.motor.arrancar(); // Violación (acceso indirecto)
  }
}

Aplicación correcta de la Ley de Deméter:

class Motor {
  arrancar() {
    console.log("Motor encendido");
  }
}

class Automovil {
  constructor() {
    this.motor = new Motor();
  }

  arrancarMotor() {
    this.motor.arrancar();
  }
}

class Persona {
  constructor(auto) {
    this.auto = auto;
  }

  iniciarAuto() {
    this.auto.arrancarMotor(); // Correcto (acceso directo)
  }
}

En este ejemplo, la segunda implementación cumple con la Ley de Deméter, ya que cada clase interactúa únicamente con sus colaboradores inmediatos.

📚 Consejos adicionales al aplicar la Ley de Deméter 📝

  • Revisa tu código para identificar y corregir interacciones indirectas.
  • Implementa métodos intermediarios para gestionar accesos.
  • Mantén claridad en las responsabilidades delegadas entre módulos.

🔍 Conclusión: Código desacoplado y claro 🎉

Aplicar la Ley de Deméter es fundamental para crear un código limpio y mantenible, minimizando dependencias innecesarias y optimizando la calidad del software.

© 2025 Synara LLC.

Deja tu reseña

Califica con estrellas:

Todavía no hay reseñas.