Middle
Mis on ühendus?
sobes.tech AI
Vastus AI-lt
Koppeling (coupling) on sõltuvuse aste programmi moodulite või komponentide vahel. Mida tugevam on koppeling, seda tihedamalt on moodulid seotud ning ühe muutmine võib mõjutada teist. Objektorienteeritud programmeerimises püütakse saavutada nõrka koppelingut (loose coupling), et parandada koodi hooldatavust ja paindlikkust.
Näiteks, kui klass A kasutab otse klass B sisemisi detaile, on see tugev koppeling. Koppelingu vähendamiseks kasutatakse liideseid, abstraktsioone või sõltuvuste sisestamist.
PHP näide nõrgast koppelingust:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// kirjutamine faili
}
}
class UserService {
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
}
public function createUser() {
// kasutaja loomine
$this->logger->log('Kasutaja loodud');
}
}
Siin sõltub UserService LoggerInterface abstraktsioonist, mitte konkreetse teostuse kaudu, mis vähendab koppelingut.