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.