How to avoid spaghetti code in C#

How to avoid spaghetti code in C#

Spaghetti is good eating but bad programming. Follow these 10 best practices to keep your C# code clean, lean, and easy to maintain.

Composition vs. inheritance in OOP and C#

Composition vs. inheritance in OOP and C#

Understand the key concepts behind composition and inheritance that allow you to build reusable and flexible types in your .NET applications.

How to use advanced Dapper features in ASP.NET Core

How to use advanced Dapper features in ASP.NET Core

Take advantage of stored procedures, query pagination, query caching, and other advanced Dapper feature to simplify data access and ensure high performance.

How to use factory-based middleware activation in ASP.NET Core

How to use factory-based middleware activation in ASP.NET Core

Factory-based middleware activation is a more flexible and dynamic approach to configuring and activating middleware components. Here’s how to take advantage of it in ASP.NET Core 7.

How to use the rate limiting algorithms in ASP.NET Core

How to use the rate limiting algorithms in ASP.NET Core

Learn how to use the fixed window, sliding window, token bucket, and concurrency algorithms in ASP.NET Core 7 to protect your applications and APIs against malicious attacks or overuse.

How to use response compression in ASP.NET Core

How to use response compression in ASP.NET Core

Take advantage of response compression middleware in ASP.NET Core to reduce bandwidth requirements and improve the responsiveness of your apps.

How to use request decompression in ASP.NET Core 7

How to use request decompression in ASP.NET Core 7

Take advantage of the request decompression middleware in ASP.NET Core 7 to enable your API endpoints to accept requests that contain compressed content.

Applying the DRY, KISS, and YAGNI principles in C#

Applying the DRY, KISS, and YAGNI principles in C#

If you don’t repeat yourself, keep it simple, and implement only the functionality you really truly need, your C# code will be cleaner, simpler, and much easier to maintain.

How to use the unit of work pattern in ASP.NET Core

How to use the unit of work pattern in ASP.NET Core

Take advantage of the unit of work design pattern to build flexible, extensible, and reusable data access layers in your ASP.NET Core applications.

Get started with the rate limiting middleware in ASP.NET Core 7

Get started with the rate limiting middleware in ASP.NET Core 7

Take advantage of the new rate limiting middleware in ASP.NET Core 7 to protect against malicious attacks on your applications and ensure equitable use of server resources.

How to work with EF Core migrations in ASP.NET Core

How to work with EF Core migrations in ASP.NET Core

Take advantage of migrations in EF Core to manage database schema changes over time and keep them in sync with the data models of your ASP.NET Core applications.

How to send emails using SendGrid in ASP.NET Core

How to send emails using SendGrid in ASP.NET Core

Take advantage of SendGrid to integrate reliable and scalable email into your ASP.NET Core applications. Here’s how.

How to use parameter binding in minimal APIs in ASP.NET Core

How to use parameter binding in minimal APIs in ASP.NET Core

Take advantage of parameter binding in ASP.NET Core 7 to convert request data to strongly typed parameters, improving both application performance and code maintainability.

Orchestration and choreography in .NET microservices

Orchestration and choreography in .NET microservices

Orchestration takes a centralized approach, and choreography a decentralized approach, to coordinating the interactions of microservices. Understand the differences.

The best new features in ASP.NET Core 7

The best new features in ASP.NET Core 7

The latest version of Microsoft’s web application development framework brings excellent new capabilities to middleware, minimal API apps, and more. Here are the highlights.

How to use implicit and explicit operators in C#

How to use implicit and explicit operators in C#

Take advantage of implicit and explicit operators to convert between user-defined types and improve the readability of your code.

How to work with Action, Func, and Predicate delegates in C#

How to work with Action, Func, and Predicate delegates in C#

Learn how you can take advantage of delegates like Action, Func, and Predicate to facilitate callbacks and add flexibility to your code.

How to work with delegates in C#

How to work with delegates in C#

Take advantage of delegates to promote flexibility and code reuse in your .NET applications and to implement event-driven programming with ease.

How to use OpenAPI in ASP.NET Core

How to use OpenAPI in ASP.NET Core

Take advantage of the built-in support for OpenAPI in ASP.NET Core to automatically document your HTTP endpoints. Minimal APIs are supported too.

How to use the null object pattern in .NET

How to use the null object pattern in .NET

Take advantage of the null object pattern in .NET to eliminate the need for null checks and avoid runtime errors in your applications.

Load More