The factory pattern
The factory pattern is another popular object creation pattern. It does not require the usage of constructors. This pattern provides an interface to create objects. Based on the type passed to the factory, that particular type of object is created by the factory. A common implementation of this pattern is usually using a class or static method of a class. The purposes of such a class or method are as follows:
It abstracts out repetitive operations when creating similar objects
It allows the consumers of the factory to create objects without knowing the internals of the object creation
Let's take a common example to understand the usage of a factory. Let's say that we have the following:
A constructor,
CarFactory()
A static method in
CarFactory
calledmake()
that knows how to create objects of thecar
typeSpecific
car
types such asCarFactory.SUV
,CarFactory.Sedan
, and so on
We want to use CarFactory
as follows:
var golf = CarFactory.make('Compact'); var vento = CarFactory.make...