Middle
Mi az összeköttetés?
sobes.tech MI
Válasz az MI-től
Kötés (coupling) a program moduljai vagy összetevői közötti függőség mértéke. Minél erősebb a kötés, annál szorosabban kapcsolódnak a modulok, és egy változás az egyikben hatással lehet a másikra. Az objektumorientált programozásban a gyenge kötést (loose coupling) törekednek növelni a kód karbantarthatóságának és rugalmasságának növelése érdekében.
Például, ha az A osztály közvetlenül használja a B osztály belső részleteit, ez erős kötés. A kötés csökkentése érdekében interfészeket, absztrakciókat vagy függőséginjektálást alkalmaznak.
Példa a gyenge kötésre PHP-ben:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// fájlba írás
}
}
class UserService {
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
}
public function createUser() {
// felhasználó létrehozása
$this->logger->log('Felhasználó létrehozva');
}
}
Itt, a UserService az LoggerInterface absztrakciótól függ, nem pedig egy konkrét megvalósítástól, ez csökkenti a kötést.