Sobes.tech
Junior — Middle

Melyik tervezési minta a legjobb az objektum létrehozásához, figyelembe véve a különböző bevezetési feltételeket?

sobes.tech MI

Válasz az MI-től

Különböző bevezetési feltételekkel objektum létrehozásához a legjobb, ha a "Gyár" (Factory) vagy az "Absztrakt Gyár" (Abstract Factory) tervezési mintát alkalmazza.

Ez a minta lehetővé teszi az objektumok létrehozásának logikájának kapszulázását, és a konkrét osztály kiválasztását futásidőben a feltételek alapján.

Egyszerű gyári módszer példája:

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

class FileLogger implements LoggerInterface {
    public function log(string $message) {
        // fájlba írás
    }
}

class DatabaseLogger implements LoggerInterface {
    public function log(string $message) {
        // adatbázisba írás
    }
}

class LoggerFactory {
    public static function create(string $type): LoggerInterface {
        if ($type === 'file') {
            return new FileLogger();
        } elseif ($type === 'db') {
            return new DatabaseLogger();
        }
        throw new Exception('Ismeretlen logger típus');
    }
}

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

Így rugalmasan lehet objektumokat létrehozni a feltételek szerint.