PHP шаблоны: Factory Method (генерация объектов)

PHPКомментариев нет

Проблема:

Нам требуется реализовать хранение логов. При этом у нас возможно не одна реализация хранения, а две(вывод на экран и запись в файл). Так же возможно что со временем их станет больше.

Решение:

[file: Logger.php] — интерфейс для будущих классов логгирования

[file: StdoutLogger.php] — класс логирования с выводом на экран сообщений

[file: FileLogger.php] — класс логирования в файл

[file: LoggerFactory.php] — интерфес для генирации классов логирования

[file: StdoutLoggerFactory.php] — класс генерирующий класс логирования с выводом на экран сообщений

[file: FileLoggerFactory.php]

Применение

Плюсы:

Данным способом мы решаем нашу задачу генерации классов.

Минусы:

Данный шаблон способствует не нужному созданию подклассов а так же дублированию кода. Прежде чем использовать данный паттерн, нужно хорошенько обдумать данное решение, так как при расширении дополнительным функционалом(не только логирование) мы можем столкнуться с сильно связанной структурой.

 


Комментарии закрыты!