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('Հաղորդագրություն');
Այս կերպ, կարող եք ճկունորեն ստեղծել օբյեկտներ պայմանների հիման վրա։