Junior — Middle
Turli joriy etish sharoitlarini hisobga olgan holda, ob'ektni yaratishda qaysi dizayn shabloni eng yaxshi?
sobes.tech AI
AIdan javob
Turli shartlar bilan obyekt yaratish uchun eng yaxshi usul "Fabrika" (Factory) yoki "Abstrakt Fabrika" (Abstract Factory) dizayn shablonlarini qo'llashdir.
Ushbu shablon obyektlarni yaratish logikasini inkapsulyatsiya qilish va ish vaqtida shartlarga qarab aniq sinfni tanlash imkonini beradi.
Oddiy fabrik metodining misoli:
interface LoggerInterface {
public function log(string $message);
}
class FileLogger implements LoggerInterface {
public function log(string $message) {
// faylga yozish
}
}
class DatabaseLogger implements LoggerInterface {
public function log(string $message) {
// ma'lumotlar bazasiga yozish
}
}
class LoggerFactory {
public static function create(string $type): LoggerInterface {
if ($type === 'file') {
return new FileLogger();
} elseif ($type === 'db') {
return new DatabaseLogger();
}
throw new Exception('Noma’lum logger turi');
}
}
$logger = LoggerFactory::create('file');
$logger->log('Xabar');
Shu tarzda, shartlarga qarab obyektlar moslashuvchan tarzda yaratilishi mumkin.