Everything About ___
Live briefing

Everything about Abstract factory pattern

Software design pattern

The abstract factory pattern in software engineering is a design pattern that provides a way to create families of related objects without imposing their concrete classes, by encapsulating a group of individual factories that have a common theme without specifying their concrete classes. According to this pattern, a client software component creates a concrete implementation of the abstract factory and then uses the generic interface of the factory to create the concrete objects that are part of the family. The client does not know which concrete objects it receives from each of these internal factories, as it uses only the generic interfaces of their products. This pattern separates the details of implementation of a set of objects from their general usage and relies on object composition, as object creation is implemented in methods exposed in the factory interface. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: Abstract factory patternA 5-minute orientation
  2. Pick up a classic book: Objects first with JavaThe most-reprinted book on the subject
  3. Read the landmark paper: Example of Integration of Java GUI Desktop Technologies Using the Abstract Factory Pattern for Education PurposesCited 2 times
  4. Go sideways: Prototype patternA closely related topic
  5. Go sideways: Factory method patternA closely related topic

📖 Definitions

Noun A creational design pattern that decouples the object creation by providing a group of individual factories by defining an abstract factory class.

🗂️ The subject at a glance

  1. Overview
  2. Definition
  3. Usage
  4. Structure
  5. Example

🏆 Landmark papers (most cited)

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics