Nima bu bog'lash?
sobes.tech AI
AIdan javob
Koppeling (coupling) — bu dastur modullari yoki komponentlari o‘rtasidagi bog‘liqlik darajasi. Koppeling kuchli bo‘lsa, modullar o‘rtasida yaqin bog‘liqlik bo‘ladi va birida o‘zgarishlar boshqasiga ta’sir qilishi mumkin. Ob’ektga yo‘naltirilgan dasturlashda, kodni qo‘llab-quvvatlash va moslashuvchanligini oshirish uchun zaif koppeling (loose coupling)ga intilishadi.
Masalan, agar A sinfi B sinfining ichki tafsilotlarini to‘g‘ridan-to‘g‘ri ishlatsa, bu kuchli koppeling hisoblanadi. Koppelingni kamaytirish uchun interfeyslar, abstraktsiyalar yoki bog‘liqliklarni inject qilish ishlatiladi.
PHPda zaif koppeling misoli:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// faylga yozish
}
}
class UserService {
private LoggerInterface $logger;
public function __construct(LoggerInterface $logger) {
$this->logger = $logger;
}
public function createUser() {
// foydalanuvchi yaratish
$this->logger->log('Foydalanuvchi yaratildi');
}
}
Bu yerda, UserService LoggerInterface abstraktsiyasiga bog‘liq bo‘lib, aniq bir amalga oshirishga emas, bu koppelingni kamaytiradi.