Sobes.tech
Junior — Middle

Fərqli tətbiq şərtlərini nəzərə alaraq, obyekt yaradarkən hansı dizayn şablonu ən yaxşıdır?

sobes.tech Süni İntellekt

AI-dan cavab

Fərqli tətbiq şərtləri ilə obyekt yaratmaq üçün ən yaxşı yol "Fabrika" (Factory) və ya "Abstrakt Fabrika" (Abstract Factory) dizayn nümunələrini tətbiq etməkdir.

Bu nümunə obyektlərin yaradılma logikasını kapsülləşdirməyə və icra zamanı şərtlərə əsasən konkret sinfi seçməyə imkan verir.

Sadə fabrik metodunun nümunəsi:

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

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

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

class LoggerFactory {
    public static function create(string $type): LoggerInterface {
        if ($type === 'file') {
            return new FileLogger();
        } elseif ($type === 'db') {
            return new DatabaseLogger();
        }
        throw new Exception('Naməlum logger tipi');
    }
}

$logger = LoggerFactory::create('file');
$logger->log('Mesaj');

Bu şəkildə, şərtlərə əsasən obyektlər çevik şəkildə yaradılır.