Factory Method Pattern

Status: draft · Confidence: medium (0.635) · Basis: verified_sources

Quality notes: generic_source_homepage, no_verified_sources, partial_source_verification

## TL;DR

Defines an interface for creating objects, letting subclasses decide which class to instantiate. Defers instantiation to subclasses.

## Core Explanation

Creator (abstract with factory method) + ConcreteCreator + Product interface. In modern code, factory functions (plain functions returning objects) often suffice without class hierarchies. Abstract Factory creates families of related objects (e.g., GUI widgets per platform).

## Further Reading

- [Design Patterns (Gang of Four)](undefined)

## Related Articles

- [Adapter Pattern](../adapter-pattern.md)
- [Command Pattern](../command-pattern.md)
- [Decorator Pattern](../decorator-pattern.md)