Design Patterns: Simple Factory

Paulund
1 min readMar 14, 2020

--

A simple factory is an object that is used to generate an instance of an object for the client.

The simplest way of understanding a factory is an object for creating other objects.

Real World Example

For example if we had 3 types of cars and wanted to create a factory that will create the car classes for us.

We can start with an interface to define a car.

<?php namespace SimpleFactory; interface Car 
{
}

Then each car will implement this car interface.

<?php namespace SimpleFactory; class Tesla implements Car 
{
}

Then we’ll create the factory to make these car classes.

<?php namespace SimpleFactory; class CarFactory 
{
public function makeTesla() : Car
{
return new Tesla;
}
public function makeBmw() : Car
{
return new Bmw;
}
public function makeMercedes() : Car
{
return new Mercedes;
}
}

When To use

This can be very useful when you need a centralised location for creating objects. Let’s say these objects need to be created in a specific way with specific parameters each time the factory pattern allows us to put this into a factory instead of duplicating the code throughout the application.

Originally published at https://paulund.co.uk.

--

--

Paulund
Paulund

No responses yet