Sobes.tech
Middle

Eşleştirme nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Koppling (coupling), bir programdaki modüller veya bileşenler arasındaki bağımlılık derecesidir. Bağlantı ne kadar güçlü olursa, modüller o kadar sıkı bağlıdır ve birinde yapılan değişiklikler diğerini etkileyebilir. Nesne yönelimli programlamada, kodun sürdürülebilirliğini ve esnekliğini artırmak için gevşek bağlanma (loose coupling) hedeflenir.

Örneğin, A sınıfı doğrudan B sınıfının iç detaylarını kullanıyorsa, bu güçlü bir bağlanmadır. Bağlantıyı azaltmak için arayüzler, soyutlamalar veya bağımlılık enjeksiyonu kullanılır.

PHP'de zayıf bağlanma örneği:

interface LoggerInterface {
    public function log(string $message);
}

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // dosyaya yazma
    }
}

class UserService {
    private LoggerInterface $logger;

    public function __construct(LoggerInterface $logger) {
        $this->logger = $logger;
    }

    public function createUser() {
        // kullanıcı oluşturma
        $this->logger->log('Kullanıcı oluşturuldu');
    }
}

Burada, UserService, LoggerInterface soyutlamasına bağlıdır ve belirli bir uygulamaya değil, bu da bağımlılığı azaltır.