Sobes.tech
Назад к вопросам
Junior — Middle
98

Каким образом вы примените паттерн 'фабрика' в своем проекте?

Ответ от нейросети

sobes.tech AI

Паттерн «фабрика» используется для создания объектов без явного указания конкретного класса создаваемого объекта. В 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('Unknown logger type');
    }
}

// Использование:
$logger = LoggerFactory::create('file');
$logger->log('Сообщение');

Такой подход упрощает расширение и поддержку кода, позволяя менять тип создаваемых объектов без изменения клиентского кода.