Sobes.tech
Middle

Co je to spojení?

sobes.tech AI

Odpověď od AI

Koupling (vázání) je míra závislosti mezi moduly nebo komponentami programu. Čím silnější je vázání, tím těsněji jsou moduly propojeny, a změny v jednom mohou ovlivnit druhý. V objektově orientovaném programování se usiluje o slabé vázání (loose coupling), aby se zvýšila udržovatelnost a flexibilita kódu.

Například, pokud třída A přímo používá interní detaily třídy B, jedná se o silné vázání. Pro snížení vázání se používají rozhraní, abstrakce nebo injekce závislostí.

Příklad slabého vázání v PHP:

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

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

class UserService {
    private LoggerInterface $logger;

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

    public function createUser() {
        // vytvoření uživatele
        $this->logger->log('Uživatel vytvořen');
    }
}

Zde závisí UserService na abstrakci LoggerInterface, nikoliv na konkrétní implementaci, což snižuje vázání.