Factory Method Design Pattern

Design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.

When to use it?

Use the Factory Method when

📒 you don’t know beforehand the exact types and dependencies of the objects your code should work with.

📒 you want to save system resources by reusing existing objects instead of rebuilding them each time.

📒 you want to provide users of your library or framework with a way to extend its internal components.

Pros & Cons

🟢 You avoid tight coupling between the creator and the concrete products.

🟢 Single Responsibility Principle. You can move the product creation code into one place in the program, making the code easier to support.

🟢 Open/Closed Principle. You can introduce new types of products into the program without breaking the existing client code.

🔴 The code may become more complicated since you need to introduce a lot of new subclasses to implement the pattern. The best-case scenario is when you’re introducing the pattern into an existing hierarchy of creator classes.

Code

To be updated.

References

Last updated