Skip to content

A seven-part guide to classic design patterns — Factory, Adapter, Builder, Composite, Decorator, Facade, and Proxy — implemented in C#.

Design Patterns in C# - Factory Method and Abstract Factory

Design Patterns in C# - Factory Method and Abstract Factory

Carmel Eve

Investigate the differences between factory method and abstract factory design patterns in this first blog of our series.
Design patterns in C# - The Adapter Pattern

Design patterns in C# - The Adapter Pattern

Carmel Eve

When legacy or external code doesn't fit your interfaces, the adapter pattern wraps it behind the expected API so your system can use it without modification.
Design patterns in C# - The Builder Pattern

Design patterns in C# - The Builder Pattern

Carmel Eve

Traverse the builder pattern in this design patterns series, simplifying complex object creation and separating construction from usage.
Design patterns in C# - The Composite Pattern

Design patterns in C# - The Composite Pattern

Carmel Eve

This blog is part of a series around design patterns. This post focuses on the composite pattern. The composite pattern is often used in situations where you want to me able to treat groups and individuals in the same way during processing.
Design patterns in C# - The Decorator Pattern

Design patterns in C# - The Decorator Pattern

Carmel Eve

Investigate the decorator pattern in this blog post, a design pattern used to dynamically enhance object functionality.
Design patterns in C# - The Facade Pattern

Design patterns in C# - The Facade Pattern

Carmel Eve

This blog is part of a series around design patterns. This post focuses on the facade pattern. The facade pattern provides an interface into a complex system, in order to simplify access to the functionality.
Design patterns in C# - The Proxy Pattern

Design patterns in C# - The Proxy Pattern

Carmel Eve

The proxy pattern controls access to an underlying object: restricting callers, adding caching, enabling lazy loading, or representing remote resources through a local stand-in.