Sobes.tech
Middle

Čo je to spojenie?

sobes.tech AI

Odpoveď od AI

Kopplung (coupling) je miera зависимости medzi modulmi alebo komponentami programu. Čím je silnejšie kopplovanie, tým sú moduly úzko prepojené, a zmeny v jednom môžu ovplyvniť druhý. V objektovo orientovanom programovaní sa usiluje o slabé kopplovanie (loose coupling), aby sa zvýšila udržiavateľnosť a flexibilita kódu.

Napríklad, ak trieda A priamo používa interné detaily triedy B, ide o silné kopplovanie. Na zníženie kopplovania sa používajú rozhrania, abstrakcie alebo injekcia závislostí.

Príklad slabého kopplovania v PHP:

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

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // zápis do súboru
    }
}

class UserService {
    private LoggerInterface $logger;

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

    public function createUser() {
        // vytvorenie používateľa
        $this->logger->log('Používateľ vytvorený');
    }
}

Tu, UserService závisí od abstrakcie LoggerInterface, nie od konkrétnej implementácie, čo znižuje kopplovanie.