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.