Welcome to Kevin's blog

Why should you use Span<T> in .NET?

Going over Span<T>, teaches us how we can have a higher performance without memory allocation code and how it is a better alternative to the Substring API. Span<T> reduces the load on GC by minimizing managed memory allocations. Span<T> has some restriction of usages, to overcome them Memory<T> has briefly introduced.

Inversion Of Control (IOC) in simple words

Inversion of control at first glance may seem an obscure term though when you define it in simple sentences, you would realize how much it is understandable and can bring advantages to your application. In this post, I tried explaining it as simple as and as understandable as possible for junior developers.

Dependency injection in simple words

In this article I tried to make DI as simple and as understandable as possible not only for juniors but also for those who feel uncomfortable with dependency injection.

Why should we care about the capacity of List<T>?

Have you ever thought about generic lists under the hood? Do you know what's happening when a generic list is created? How about the internal array of generic lists? Or how do you use them efficiently? In this article, you can find answers and even more.

Synchronization by lock and Monitor statements (part 2)

In this part, we go over the Monitor class and its best practices, also a consumer-producer problem is implemented by the Monitor capabilities.

Synchronization by lock and Monitor statements (part 1)

Working through enterprise applications has various challenges, among them, multi-threading stands out. Nowadays, all applications tend to use all capabilities of modern hardware, especially CPUs in our case. Performing several jobs simultaneously...