When you send a request to a .NET Core Web API, it goes thru series of steps before a response is...
In software development, performance matters, but chasing it too early can lead you into dangerous...
The Adapter Pattern is a structural design pattern that allows objects with incompatible interfaces...
In the previous post, we have paid attention on our project structure and organizing the code in...
In the previous post, we added global error handling and logging using NLog. Now that we’ve made our...
In the previous post, we set up a basic .NET 9 Web API project. Now it’s time to take things further...
Welcome to the first post in the “.NET Core Web API – Step-by-Step Best Practices” series. In this...
State machines might sound like a complex topic, but at their core, they’re just a way to manage...
In software development, there are scenarios where creating multiple objects with similar attributes...
Code reviews are a crucial part of writing great software. They help maintain code quality, catch...
In the last post we have discussed core principles of unit testing and TDD. In this post, we’ll walk...
Writing code without unit tests can be risky—you might not realize issues until it’s too late. Unit...
Before we kick off, just a quick mention that the intention of this post is pure fun, so please don't...
The Decorator Pattern is a structural design pattern that allows behavior to be dynamically added to...
Today, WinForms apps mainly belong to legacy code because of increasing popularity of WPF. And when...
In the previous post, we gave an introduction and explained the basic concept of the Strategy...
8 When To Use It? You Have Multiple Algorithms or Behaviors. Use it when you have a...
Inheritence is often misused or overused or even forced for several reasons, and they are mostly due...
“This is the last time I am doing overtime hours. It won’t happen again for sure.” You are thinking...
This is a very common subject that many of us have already experienced. But when you realize that...
Let’s continue our series on design patterns with the Factory Method. Like the Builder or Singleton...
In this post, we continue to explore ways to free your application from being tightly bound to the...
Dapper is a lightweight, high-performance ORM for .NET. It is widely used because of its simplicity...
This is also, like a Singleton, one of the creational design patterns. It provides the way of...
A well-maintained Git log is more than just a record of commits—it’s a story of your project’s...
Undoubtedly, one of the most popular books in software engineering, it teaches the fundamentals of...
Tyipically the first design pattern most people learn, often wrongly ☺ To give an introduction, we...