The Simple Factory pattern
For some, Simple Factory is not a pattern in itself. It is more of a concept that developers need to know before they know more about the Factory method and Abstract Factory method. The Factory helps create objects of different types rather than direct object instantiation.
Let's understand this with the help of the following diagram. Here, the client class uses the Factory class, which has the create_type()
method. When the client calls the create_type()
method with the type parameters, based on the parameters passed, the Factory returns Product1 or Product2:
Let's now understand the Simple Factory pattern with the help of a Python v3.5 code example. In the following snippet, we create an Abstract product called Animal
. Animal
is an abstract base class (ABCMeta
is Python's special metaclass to make a class Abstract
) and has the do_say()
method. We create two products (Cat
and Dog
) from the Animal interface and implement do_say()
with...