> For the complete documentation index, see [llms.txt](https://aloy.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aloy.gitbook.io/notes/software-architecture-design/design-patterns.md).

# design-patterns

## Creational Patterns

### Singleton

Ensures one instance of a class created

### Factory Method

Delegates object creation to subclasses.

(This pattern is especially useful in scenarios where the exact class of an object is not known until runtime, or when complex object creation logic needs to be centralized.)

### Abstract Factory

Creates families of related objects.

### Builder

Step-by-step object creation.

## Structural Patterns

### Adapter

Converts one interface to another.

### Decorator

Adds dynamic behavior to objects.

### Facade

Simplifies complex systems.

### Composite

Uniformly handles composite and simple objects.

## Behavioral Patterns

### Strategy

Interchangeable algorithms.

### Observer

One-to-many notifications.

### Command

Encapsulates requests as objects.
