ФАБРИЧНЫЙ МЕТОД PHP

Фабричный метод (Factory Method) - это шаблон проектирования, который позволяет делегировать процесс создания объектов подклассам, необходимые объекты создаются путем вызова фабричного метода в родительском классе.

Пример кода на PHP:

interface Logger {
public function log(string $message);
}
class FileLogger implements Logger {
public function log(string $message) {
echo 'Log message to file: ' . $message;
}
}
class StdoutLogger implements Logger {
public function log(string $message) {
echo 'Log message to stdout: ' . $message;
}
}
abstract class LoggerFactory {
abstract public function createLogger(): Logger;
}
class FileLoggerFactory extends LoggerFactory {
public function createLogger(): Logger {
return new FileLogger();
}
}
class StdoutLoggerFactory extends LoggerFactory {
public function createLogger(): Logger {
return new StdoutLogger();
}
}
$fileLoggerFactory = new FileLoggerFactory();
$fileLogger = $fileLoggerFactory->createLogger();
$fileLogger->log('Log message to file');
$stdoutLoggerFactory = new StdoutLoggerFactory();
$stdoutLogger = $stdoutLoggerFactory->createLogger();
$stdoutLogger->log('Log message to stdout');

В данном коде мы имеем интерфейс Logger и два класса, которые его реализуют: FileLogger и StdoutLogger. Также мы имеем абстрактный класс LoggerFactory и два класса, которые его расширяют: FileLoggerFactory и StdoutLoggerFactory. Создание объектов осуществляется путем вызова метода createLogger() в соответствующей фабрике.

Разбор вопроса с собеседования: Что такое \

35 - Уроки PHP. Шаблон проектирования Factory

Фабричный метод ► Шаблон проектирования ► Урок №6

Паттерн Фабричный Метод

Фабричный метод

Factory Pattern - Object Oriented PHP Tutorial

Паттерн Фабрика на реальном примере в PHP

Factory Method(Фабричный метод) - Паттерны проектирования PHP

PHP Паттерн Фабрика на простом примере за 8 минут.

Реклама
Новое
Реклама