LearnViz CompSci
Home / Learn / Software Engineering / Factory Pattern

Intermediate Topic 22 of 50 Software Engineering

Factory Pattern

Delegating object creation to a dedicated method.

How it works

The factory pattern moves object creation into a dedicated method or class so that client code does not need to know which concrete class it is instantiating. A simple factory is a function that returns objects based on input; the factory method pattern lets subclasses decide the type; the abstract factory creates families of related objects. Clients depend on an interface, which makes it easy to add new types.

Step-by-step walkthrough

  1. The client asks the factory for a product, for example createShape("circle").
  2. The factory decides which class to instantiate.
  3. It returns a Circle.
  4. Another request could return a Square.
  5. The client depends on the interface, not on concrete classes.

Where it is used

Creating parsers for different file formats, database drivers for different vendors, UI widgets for different platforms and payment processors based on configuration use factories.

Common pitfall

Giant switch statements inside factories grow with every new type, violating open-closed, so consider registration maps or plug-ins. Over-using factories for trivial objects adds indirection. Hiding construction can obscure required parameters. Use it when creation logic varies or is complex, and keep the returned interface small.

Where it fits in the course

Factory Pattern is topic 22 of 50 in Software Engineering, rated Intermediate. It follows Singleton Pattern. The next topic is Observer Pattern.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Software Engineering quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Factory Pattern?
Delegating object creation to a dedicated method. It belongs to Software Engineering and is an intermediate-level topic.
Where do people use Factory Pattern?
Creating parsers for different file formats, database drivers for different vendors, UI widgets for different platforms and payment processors based on configuration use factories.
What is the most common mistake with Factory Pattern?
Giant switch statements inside factories grow with every new type, violating open-closed, so consider registration maps or plug-ins.
What should I learn before this topic?
Start with Singleton Pattern, the topic just before it in Software Engineering.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Software Engineering quiz.
Is Factory Pattern hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Factory Pattern?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Factory Pattern?
Singleton Pattern, Observer Pattern, Design Patterns are closely connected. The full list is in the related topics section of this page.
What should I study after Factory Pattern?
Continue with Observer Pattern, the next topic in Software Engineering.

Related topics