Tight Coupling
Última actualización
Última actualización
Definición: Cuando dos clases o módulos están fuertemente interconectados, es decir, un cambio en uno podría requerir cambios en el otro.
Problemas:
Efecto dominó 🎳: Un cambio en un módulo afecta a muchos otros.
Difícil de reutilizar 🔄: No puedes usar un módulo sin arrastrar sus dependencias.
Pruebas complicadas 🧪: Probar un módulo aisladamente se vuelve un desafío.
Ejemplo:
Aquí, Usuario
está fuertemente acoplado a Perfil
porque directamente manipula y depende de la clase Perfil
.
Definición: Una clase intenta hacer demasiado, manejando múltiples responsabilidades que no están estrechamente relacionadas.
Problemas:
Difícil de mantener 🛠️: Cambios en una responsabilidad pueden afectar otras.
Complejidad incrementada 🤯: Más difícil de entender lo que hace la clase.
Ejemplo:
La clase Administrador
tiene baja cohesión porque maneja responsabilidades variadas que podrían estar mejor separadas en distintas clases.
Bajo Acoplamiento 🛠️:
Las clases o módulos son independientes y la interacción entre ellos es mínima.
Facilita las pruebas unitarias 🧪, el mantenimiento 🛠️, y la reutilización 🔄.
Alta Cohesión ✨:
Una clase se enfoca en una única responsabilidad o área de interés.
Hace que el código sea más comprensible 📖, mantenible 🛠️, y escalable 📈.
Aquí, la separación de responsabilidades mejora la cohesión y el uso de interfaces reduce el acoplamiento, facilitando un diseño más limpio y mantenible.