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í.