Goat Review

Simplify Your Integration Testing with Test Containers

Learn how to implement Test Containers in .NET for robust integration testing. Discover best practices, practical examples, and advanced implementation techniques using Docker.

Infrastructure Layer Should Always Be Logic-Free: Why?

Learn why your infrastructure layer should contain zero business logic and how to properly structure your .NET applications using Clean Architecture principles. Includes practical examples and common pitfalls to avoid.

Rethinking MediatR Validation: Moving from Pipeline to Domain Objects

Explore why traditional MediatR pipeline validation might be hurting your .NET application's architecture. Discover how to move validation to domain objects with value objects, following the 'Parse, Don't Validate' principle.

Static Factory Pattern: Solving JSON Deserialization Challenges in .NET

Learn how to implement the Static Factory Pattern in .NET while handling JSON serialization challenges. Discover practical solutions using System.Text.Json with example implementations and best practices

Building a High-Performance Message Queue with Redis Streams

Beyond Pub/Sub: Implementing Reliable Work Distribution with Redis When developers reach for Redis as a messaging solution, they typically gravitate toward its Pub/Sub capabilities. While Pub/Sub excels at broadcasting messages to multiple subscribers, it falls short for reliable work distribution scenarios. Messages are transient - any offline

Goat Review © 2026