Sobes.tech
Middle

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.