Sobes.tech
Middle

Ce este cuplajul?

sobes.tech AI

Răspuns de la AI

Cuplajul (coupling) este gradul de dependență între module sau componentele unui program. Cu cât cuplajul este mai puternic, cu atât modulele sunt mai strâns legate, iar modificările într-unul pot afecta pe celălalt. În programarea orientată pe obiect, se urmărește un cuplaj slab (loose coupling) pentru a crește întreținerea și flexibilitatea codului.

De exemplu, dacă clasa A utilizează direct detalii interne ale clasei B, acesta este un cuplaj puternic. Pentru a reduce cuplajul, se folosesc interfețe, abstracții sau injecție de dependențe.

Exemplu de cuplaj slab în PHP:

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

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // scriere în fișier
    }
}

class UserService {
    private LoggerInterface $logger;

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

    public function createUser() {
        // creare utilizator
        $this->logger->log('Utilizator creat');
    }
}

Aici, UserService depinde de abstracția LoggerInterface, nu de o implementare concretă, ceea ce reduce cuplajul.