Articles

Every Programmer Should Know #2: Optimistic Concurrency Control

In the world of programming, there are many concepts that every developer should understand in order to build efficient and consistent systems. Among ...

Global Error Handling in Angular

An article about global error handling in angular

Mutation Testing in C# with Stryker

Mutation testing is a software testing technique that changes some logical operators into their opposite and runs the tests against them, evaluates th...

ABP Framework goes Azure

ABP Framework goes Azure A step-by-step tutorial on how to set up Continuous Deployment of an ABP Framework application

📑 Cover IO Based Apps With Unit Tests in .NET C# 🧪

Read this article to learn how to split your IO app into smaller modules which you can cover by 100%

Better Enhanced Repository Pattern Implementation in .NET C#

Learn how to implement a better enhanced Repository Pattern following Best Practices to satisfy extended requirements like throttling.

When Not To Use DI, IoC, and IoC Containers in .NET C#

Know when DIs aren’t the right solution, and the better design to use instead in .NET C#

Architecture

⏰ Best Practice for Using Timers in .NET C# ⏳

When using System.Timers.Timer in your .NET C# application, you might face problems with abstracting it and being able to cover your modules with Unit...

How to Fully Cover .NET C# Console Application With Unit Tests

How could I test a Console application when the input is passed by key strokes and the output is presented on a screen?!! Know the What? and How? to f...

ABP Now Supports Keyed Services!

In this post, I describe the new "keyed service" support for the dependency injection container, which came with .NET 8.0. Then, I'll show y...