Sobes.tech
Middle

O que é acoplamento?

sobes.tech IA

Resposta da IA

Acoplamento (coupling) é o grau de dependência entre módulos ou componentes de um programa. Quanto mais forte for o acoplamento, mais estreitamente ligados estarão os módulos, e as alterações em um podem afetar o outro. Na programação orientada a objetos, busca-se um acoplamento fraco (loose coupling) para melhorar a manutenção e flexibilidade do código.

Por exemplo, se a classe A usa diretamente detalhes internos da classe B, isso é um acoplamento forte. Para reduzir o acoplamento, usam-se interfaces, abstrações ou injeção de dependências.

Exemplo de acoplamento fraco em PHP:

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

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // gravação em arquivo
    }
}

class UserService {
    private LoggerInterface $logger;

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

    public function createUser() {
        // criação de usuário
        $this->logger->log('Usuário criado');
    }
}

Aqui, UserService depende da abstração LoggerInterface, e não de uma implementação concreta, o que reduz o acoplamento.