Sobes.tech
Junior — Middle

Abstrakt interfeyslər və konseptlər istifadə edərək dizayn nümunələrinin tətbiqi təcrübənizi təsvir edin.

sobes.tech Süni İntellekt

AI-dan cavab

PHP ilə işləmə təcrübəmdə, kodun çevikliyi və genişləndirilə bilməsini artırmaq üçün abstrakt interfeyslərə və konseptlərə əsaslanan dizayn nümunələrindən istifadə etmişəm. Məsələn, "Fabrika" (Factory) nümunəsini həyata keçirərkən, məhsullar üçün interfeys yaradırdım və konkret sinflər bu interfeysi həyata keçirirdi. Abstrakt interfeys, müştəri kodunun məhsullarla işləməsinə imkan verir, onların konkret sinflərini bilmədən.

Nümunə:

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

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

class DatabaseLogger implements LoggerInterface {
    public function log(string $message) {
        // verilənlər bazasına yazma
    }
}

function process(LoggerInterface $logger) {
    $logger->log('Proses başlayır');
}

// Logger tətbiqini dəyişmək, process funksiyasını dəyişmədən asandır
process(new FileLogger());

Bu yanaşma yeni tətbiqləri asanlıqla əlavə etməyə, kodu test etməyə və SOLID prinsiplərinə, xüsusən, Asılılıqların Tərs Çevrilməsinə və Açıq/Qapalı prinsipinə riayət etməyə imkan verir.