Middle
Šta je spoj?
sobes.tech АИ
Одговор од АИ
Kopling (coupling) je stepen zavisnosti između modula ili komponenti programa. Što je jača kopling, to su moduli usko povezani, i promene u jednom mogu uticati na drugi. U objektno-orijentisanom programiranju, teži se ka slabom koplingu (loose coupling) kako bi se povećala održivost i fleksibilnost koda.
Na primer, ako klasa A direktno koristi unutrašnje detalje klase B, to je snažan kopling. Da bi se smanjio kopling, koriste se interfejsi, apstrakcije ili injekcija zavisnosti.
Primer slabog koplinga u PHP:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// zapis u fajl
}
}
class UserService {
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
}
public function createUser() {
// kreiranje korisnika
$this->logger->log('Korisnik kreiran');
}
}
Ovde, UserService zavisi od apstrakcije LoggerInterface, a ne od konkretne implementacije, što smanjuje kopling.