Choosing the Right Caching Strategy in .NET 9

In this blog post, we explain popular caching strategies in .NET 9, including cache-aside, read-through, write-through, and write-behind—and introduce the new HybridCache feature. Learn how to choose and implement the best caching approach for your application’s speed, scalability, and consistency needs.

Optimistic vs. Pessimistic Concurrency In .NET: Complete Guide with Examples

Learn the key differences between optimistic and pessimistic concurrency control in .NET, their pros & cons, and when to use each. This complete guide includes practical examples to help you manage data conflicts effectively in your applications.

Concurrency vs. Parallelism in .NET: A Practical Guide

Discover the essential differences between concurrency and parallelism in .NET, and learn when to use each for maximum performance. This post explores practical patterns, real-world examples, and best practices to help you write efficient, high-throughput applications using modern .NET techniques.

How to Choose the Right C# Collection

In this blog post, we will explain how to choose the right C# collection for your needs by outlining the key features and use cases of popular types like lists, dictionaries, and hash sets. You’ll learn when to use each collection to ensure your code is efficient and easy to maintain.

Solid Principles In Depth

A deep dive into the SOLID principles—SRP, OCP, LSP, ISP, and DIP—exploring object-oriented design with clear explanations, real-world examples.

Evolution of ProblemDetails: From .NET Core 2.2 to .NET 9

This article traces the remarkable journey of error handling in .NET from its early days in .NET Core 2.2 through to the upcoming .NET 9. We explore how Microsoft transformed basic exception management into a sophisticated, standardized system.

Mehdi Hadeli

How to Implement Dependency Injection for .Net Core Console Applications

If you’re developing a.NET Core console application, you might notice that it lacks support out of the box for crucial features like dependency injection, logging, and [configuration]. But by using these strategies, you can organize your console application and make it simpler to maintain, just like in an ASP.NET Core application.