Codigo limpio y refactorización
Acoplamiento fuerte.
Las clases o módulos dependen directamente de otras implementaciones concretas, dificultando su testeo y mantenimiento.
Ya lo hemos visto en:
- en el pripicio de alta cohexión bajo acoplamiento.
- en el principio de inyección de dependencias
Ejemplo Mal
1public class OrderManager { 2 private UserService userService = new UserService(); 3 4 public void createOrder() { 5 userService.notifyUser(); 6 } 7}
Ejemplo Corregido
1public class OrderManager { 2 private final UserService userService; 3 4 public OrderManager(UserService userService) { 5 this.userService = userService; 6 } 7 8 public void createOrder() { 9 userService.notifyUser(); 10 } 11}