# Design Patterns

Design patterns are common approaches to solving similar problems. The [1995 book Design Patterns, by the so-called Gang of Four (GoF)](http://amzn.to/1GYRo2O), describes 23 patterns that generally apply to object-oriented design (OOD). Quickly learn about several patterns and how to learn new patterns in this [Design Patterns Overview course on Pluralsight](https://www.pluralsight.com/courses/design-patterns-overview). [Pluralsight’s design patterns library](http://bit.ly/DesignPatternsLibrary) includes 32 different patterns, including most of the original GoF patterns.

Some design patterns tend to cause more problems than they solve, and are thus commonly referred to as [antipatterns](/content/antipatterns/index.html).

See also:

- [Architecture Patterns](/content/architecture/#architecture-patterns/index.html)
- [Domain-Driven Design Patterns](/content/domain-driven-design/#ddd-design-patterns/index.html)
- [Testing Patterns](/content/testing/#design-patterns/index.html)

## Alphabetical List of Design Patterns [Permalink for this section](/content/design-patterns/#alphabetical-list-of-design-patterns/index.html)

**(⚠️ indicates patterns that are often considered antipatterns)**

- [Abstract Factory](/content/design-patterns/abstract-factory-pattern/index.html)
- [Adapter](/content/design-patterns/adapter-design-pattern/index.html)
- [Aggregate](/content/domain-driven-design/aggregate-pattern/index.html)
- [Bridge](/content/design-patterns/bridge-pattern/index.html)
- [Builder](/content/design-patterns/builder-pattern/index.html)
- [Chain of Responsibility](/content/design-patterns/chain-of-responsibility-pattern/index.html)
- [Command](/content/design-patterns/command-pattern/index.html)
- [Composite](/content/design-patterns/composite-pattern/index.html)
- [Decorator](/content/design-patterns/decorator-pattern/index.html)
- [Domain Events](/content/design-patterns/domain-events-pattern/index.html)
- [Entity](/content/domain-driven-design/entity/index.html)
- [Event Aggregator](/content/design-patterns/event-aggregator-pattern/index.html)
- [Facade](/content/design-patterns/facade-pattern/index.html)
- [Factory Method](/content/design-patterns/factory-method-pattern/index.html)
- [Flyweight](/content/design-patterns/flyweight-pattern/index.html)
- [Interpreter](/content/design-patterns/interpreter-pattern/index.html)
- [Iterator](/content/design-patterns/iterator-pattern/index.html)
- [Lazy Load](/content/design-patterns/lazy-load-pattern/index.html)
- [Mediator](/content/design-patterns/mediator-pattern/index.html)
- [Memento](/content/design-patterns/memento-pattern/index.html)
- [Model-View-Controller (MVC)](/content/design-patterns/mvc-pattern/index.html)
- [Model-View-Presenter (MVP)](/content/design-patterns/mvp-pattern/index.html)
- [Model-View-ViewModel (MVVM)](/content/design-patterns/mvvm-pattern/index.html)
- [Null Object](/content/design-patterns/null-object-pattern/index.html)
- [Object Mother](/content/design-patterns/object-mother-pattern/index.html)
- [Observer](/content/design-patterns/observer-pattern/index.html)
- [Prototype](/content/design-patterns/prototype-pattern/index.html)
- [Proxy](/content/design-patterns/proxy-pattern/index.html)
- [Repository](/content/design-patterns/repository-pattern/index.html) (and [CachedRepository](http://ardalis.com/introducing-the-cachedrepository-pattern))
- [REPR](/content/design-patterns/repr-design-pattern/index.html)
- [Rules Engine](/content/design-patterns/rules-engine-pattern/index.html)
- [Singleton](/content/design-patterns/singleton/index.html) ⚠️
- [Service Locator](/content/design-patterns/service-locator-pattern/index.html) ⚠️
- [Specification](/content/design-patterns/specification-pattern/index.html)
- [State](/content/design-patterns/state-design-pattern/index.html)
- [Strangler Fig](/content/design-patterns/strangler-fig-pattern/index.html)
- [Strategy](/content/design-patterns/strategy-pattern/index.html)
- [Template Method](https://www.pluralsight.com/courses/c-sharp-design-patterns-template-method)
- [Token](/content/design-patterns/memento-pattern/index.html)
- [Unit of Work](/content/design-patterns/unit-of-work-pattern/index.html)
- [Value Object](/content/domain-driven-design/value-object/index.html)
- [Visitor](/content/design-patterns/visitor-pattern/index.html)

## Learn More [Permalink for this section](/content/design-patterns/#learn-more/index.html)

- [On-Demand Webinar: Design Patterns for Testing](https://mailchi.mp/nimblepros/design-patterns-testing-recording)
- [Learning Path: Design Patterns in C# (Pluralsight)](https://app.pluralsight.com/paths/skill/design-patterns-in-c)
- [Course: Design Patterns Overview](https://www.pluralsight.com/courses/design-patterns-overview)
