Junior — Middle
Түрлі киргизүү шарттарын ескере отырып, объект түзүүдө кайсы дизайн үлгісін колдонуу эң жакшы?
sobes.tech AI
AIден жооп
Төрдүү киргизүү шарттары менен объект түзүү үчүн эң жакшы ыкма "Фабрика" (Factory) же "Абстракттуу Фабрика" (Abstract Factory) дизайн үлгүсүн колдонуу.
Бул үлгү объекттерди түзүү логикасын капсулдаштырып, иштөө учурунда шарттарга жараша так классты тандоого мүмкүндүк берет.
Жөнөкөй фабрика ыкмасынын мисалы:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// файлга жазуу
}
}
class DatabaseLogger implements LoggerInterface {
public function log(string $message) {
// маалымат базасына жазуу
}
}
class LoggerFactory {
public static function create(string $type): LoggerInterface {
if ($type === 'file') {
return new FileLogger();
} elseif ($type === 'db') {
return new DatabaseLogger();
}
throw new Exception('Белгисиз логгер түрү');
}
}
$logger = LoggerFactory::create('file');
$logger->log('Жазуу');
Мындайча айтканда, шарттарга жараша объекттерди ийкемдүү түзүүгө болот.