Bajo Acoplamiento y Alta Cohesión
El bajo acoplamiento y la alta cohesión son principios fundamentales del diseño de software que ayudan a crear sistemas más modulares, flexibles y mantenibles:
- Bajo acoplamiento: Las clases o módulos deben depender lo menos posible entre sí. Esto facilita cambios en una parte del sistema sin afectar otras.
- Alta cohesión: Una clase o módulo debe tener un propósito bien definido y agrupar funcionalidades relacionadas. Esto mejora la claridad y la reutilización.
1. Ejemplo Malo: Alto Acoplamiento y Baja Cohesión #
Cargando actividad al acercarte…
2. Problemas en los Ejemplos Malos #
- Alto acoplamiento:
OrderServiceestá directamente acoplado a los detalles del método de pago.- Si se agrega un nuevo método de pago, hay que modificar la lógica interna de
OrderService.
- Baja cohesión:
OrderServicemaneja múltiples responsabilidades: gestionar pedidos y procesar pagos, violando el principio de responsabilidad única (SRP).
3. Beneficios del Código Corregido #
-
Bajo Acoplamiento:
OrderServiceno está directamente vinculado a un método de pago específico.- Nuevos métodos de pago se pueden agregar fácilmente implementando la interfaz o clase base
PaymentProcessor.
-
Alta Cohesión: Cada clase tiene una única responsabilidad:
OrderService: Procesa pedidos.PaymentProcessory sus subclases: Gestionan métodos de pago.
-
Extensibilidad: Agregar nuevos métodos de pago no requiere modificar
OrderService, siguiendo el principio Open/Closed. -
Mantenibilidad: El diseño modular facilita el mantenimiento y las pruebas unitarias.
4. Ejemplo Corregido: Bajo Acoplamiento y Alta Cohesión #
Cargando actividad al acercarte…