Sobes.tech
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.