Code

The Strangler Fig Pattern for C# Developers

Replace a legacy system gradually instead of all at once. The Strangler Fig pattern lets a new system grow around the old one, one feature at a time, until the legacy code can be safely retired.

The Builder Pattern for C# Developers

Construct complex objects step-by-step with clean, readable code. The Builder pattern eliminates constructor overloads and makes object creation intuitive and maintainable.

The Observer Pattern for C# Developers

React to changes without tight coupling. The Observer pattern lets multiple parts of your system respond to events independently, keeping your code clean and extensible.

The Adapter Pattern for C# Developers

Integrate third-party SDKs without coupling your code to their quirks. The Adapter pattern translates external interfaces into ones your application controls.

The Facade Pattern for C# Developers

Tame complex subsystems by hiding coordination logic behind a simple interface. The Facade pattern keeps controllers thin and business workflows centralized.

The Strategy Pattern for C# Developers

Replace growing if-else chains with clean, swappable algorithms. The Strategy pattern makes pricing rules, discounts, and business logic easier to test and extend.

The Decorator Pattern for C# Developers

Add logging, caching, or retry logic without touching your core classes. The Decorator pattern wraps behavior around existing code while keeping everything testable.

Dependency Injection and Inversion of Control for C# Developers

A practical guide to Dependency Injection and Inversion of Control in C#. Covers constructor injection, composition roots, lifetimes, containers, testing, and when DI is overkill.

ResultR v1.0.2 Released: Functional Pattern Matching with Match()

ResultR v1.0.2 introduces the Match() method for functional-style pattern matching on results, making it easier to handle success and failure cases in a clean, expressive way.

Introducing ResultR

A Modern Take on Request/Response Dispatching for .NET Hello World! I’ve been working on a side project that I wanted to share with you all. After MediatR went to a paid model, I’m sure you heard all about that?