Junior — Middle
Бағдарламалық жүйелерді жобалау контекстінде 'Фабрика' паттерні қай топқа жатады?
sobes.tech AI
AI-дан жауап
"Фабрика" паттерні — бұл құрушы (creational) жобалау паттерндерінің тобына жатады. Оның негізгі міндеті — объектілерді құруды жасырып, клиенттік кодқа нақты кластармен емес, абстракциялармен жұмыс істеуге мүмкіндік беру.
Мысалы, PHP-те параметрлерге байланысты әртүрлі типтегі объектілерді құру үшін фабриканы қолдануға болады:
interface Logger {
public function log(string $message);
}
class FileLogger implements Logger {
public function log(string $message) {
// Файлға жазу
}
}
class DatabaseLogger implements Logger {
public function log(string $message) {
// Мәліметтер қорына жазу
}
}
class LoggerFactory {
public static function create(string $type): Logger {
if ($type === 'file') {
return new FileLogger();
} elseif ($type === 'database') {
return new DatabaseLogger();
}
throw new Exception("Белгісіз логгер түрі");
}
}
$logger = LoggerFactory::create('file');
$logger->log('Хабарлама');
Осылайша, фабрика объектілерді құруды инкапсуляциялайды және кодтың кеңейтілімділігі мен қолдауды жеңілдетеді.