Sobes.tech
Middle

¿Qué es el acoplamiento?

sobes.tech AI

Respuesta de la IA

Acoplamiento (coupling) es el grado de dependencia entre módulos o componentes de un programa. Cuanto más fuerte sea el acoplamiento, más estrechamente relacionados estarán los módulos, y los cambios en uno pueden afectar a otro. En la programación orientada a objetos, se busca un acoplamiento débil (loose coupling) para mejorar la mantenibilidad y flexibilidad del código.

Por ejemplo, si la clase A utiliza directamente detalles internos de la clase B, eso es un acoplamiento fuerte. Para reducir el acoplamiento, se utilizan interfaces, abstracciones o inyección de dependencias.

Ejemplo de acoplamiento débil en PHP:

interface LoggerInterface {
    public function log(string $message);
}

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // escritura en archivo
    }
}

class UserService {
    private LoggerInterface $logger;

    public function __construct(LoggerInterface $logger) {
        $this->logger = $logger;
    }

    public function createUser() {
        // creación de usuario
        $this->logger->log('Usuario creado');
    }
}

Aquí, UserService depende de la abstracción LoggerInterface, y no de una implementación concreta, lo que reduce el acoplamiento.