Паттерны проектирования

Паттерны проектирования

awsm3
TransportFactory::makeCar() : CarInterface
TransportFactory::makeTrain() : TrainInterface


  • Простая Фабрика (Simple Factory) - порождает объекты через один метод, интерфейс объектов не обязательно должен быть один и тот же. В метод-производитель объектов передаётся параметр, по которому фабрика определяет, какой объект необходимо создать.
  • Статическая Фабрика (Static Factory) - идентична абстрактной фабрике, то есть создаваемые объекты имеют один интерфейс, но порождает объекты через один статический метод (обычно ::factory() или ::build()), который принимает название объекта, который необходимо создать.
  • Фабричный Метод (Factory Method) - в простом случае может являться интерфейсом. Объекты-фабрики наследуются от класса, реализующего фабричный метод (или реализуют интерфейс). Данный тип фабрики позволяет вынести логику создания объектов в классы наследники. Следует принципу D из SOLID.

Report Page