September 2, 2026dotnetcsharpsolidarchitecturedependency-inversionports-and-adapters
Your solution is full of interfaces and you still can't swap anything. The Dependency Inversion Principle isn't about having abstractions — it's about who owns them. Ports, adapters, and the compile-time test that settles the argument in .NET.
Read more →
August 5, 2026dotnetcsharpsolidnugetextension-methodsarchitecture
How the Open/Closed Principle actually plays out when you own a NuGet package, why extension methods are .NET's cheapest OCP tool, and what C# 14 extension members in .NET 10 change for library authors.
Read more →
July 30, 2026.NETArchitectureTestingNetArchTestClean ArchitectureAI Agents
Why architecture tests matter more now that agents write code: enforce Clean Architecture layers and module isolation with NetArchTest, xUnit and .NET 10, and turn the rule into a gate an agent must pass.
Read more →
July 27, 2026.NETTestcontainersIntegration TestingPostgreSQLGitHub ActionsASP.NET Core
Build .NET integration tests that provision PostgreSQL with Testcontainers, configure WebApplicationFactory, apply EF Core migrations, and run unchanged on a workstation or GitHub Actions.
Read more →
July 22, 2026dotnetnatsmessagingmicroservicesnugetopen-sourcerabbitmqkafka
A practical introduction to NATS for .NET developers: subjects, wildcards, queue groups, how it compares to RabbitMQ and Kafka, and how to validate every incoming message with MessageValidation.NatsNet in one line.
Read more →
July 17, 2026.NETNative AOTPerformanceContainersPodman
Native AOT can reduce startup time and memory usage for focused .NET services, but only when the application and its dependencies are compatible with ahead-of-time compilation.
Read more →
July 9, 2026.NETHttpClientConnection PoolingIHttpClientFactorySocketsHttpHandlerDNSNetworking
Socket exhaustion and stale DNS are the two classic HttpClient bugs. Learn the right lifetime strategy — long-lived clients with PooledConnectionLifetime, or IHttpClientFactory — and how to combine both.
Read more →
June 12, 2026.NETHttpClientResiliencePollyHedgingTail LatencyMicroservices
When sequential retries are too slow, hedging races requests in parallel to cut tail latency. Learn the Standard Hedging Handler and how to build your own resilience pipeline with AddResilienceHandler.
Read more →
June 2, 2026.NETHttpClientResiliencePollyCircuit BreakerRetryMicroservices
Stop hand-rolling retry loops. Learn how the Standard Resilience Handler in Microsoft.Extensions.Http.Resilience gives your HttpClient production-grade retries, timeouts, and circuit breakers with one line of code.
Read more →
May 22, 2026dotnetefcoredapperarchitecturerepository-pattern
An honest take on the Repository pattern in .NET 10. When to use it with EF Core, with Dapper, and what Microsoft Learn actually recommends — with practical C# examples.
Read more →