PinnedBuilding Resilient HTTP Apps using Microsoft.Extensions.Http.Resilience with .NET 8Gracefully handle transient faultsJul 1, 2024Jul 1, 2024
PinnedUnderstanding the C4 Model for Software Architecture DocumentationWhen it comes to documenting software systems, using a structured and effective approach is crucial. One such approach is the C4 model…Oct 26, 20231Oct 26, 20231
PinnedFavoring Composition Over Inheritance“Favor composition over inheritance” is a design principle that suggests it’s better to compose objects to achieve polymorphic behavior and…May 19, 2023May 19, 2023
PinnedInvolve Your Team in Managing Technical Debt: A Guide for StartupsTechnical debt, an inevitable part of software development, is often viewed as a hindrance in the fast-paced environment of startups…Apr 23, 2023Apr 23, 2023
PinnedApplying SOLID Principles to Angular with examplesSOLID principles are a set of guidelines for writing clean, maintainable, and reusable code. These principles were introduced by Robert C…Mar 15, 20231Mar 15, 20231
A Guide to Event-Driven ArchitectureIn the world of software development, if traditional architectures are the orchestra, then event-driven architecture is the jazz band —…Oct 6, 2024Oct 6, 2024
Comparing String Concatenation Methods in C#: Benchmarks and Best PracticesString manipulation is a common task in C#, and knowing the best practices for concatenation and interpolation can greatly affect the…Aug 1, 20241Aug 1, 20241
Achieving Clean Code: Applying the Single Responsibility PrincipleSRP ensures maintainable, understandable, and adaptable code by giving each class one reason to changeJul 22, 2024Jul 22, 2024
Utilizing Record Types in. NETC# 9.0 introduced record types, a feature for creating data-centric reference types. Records offer a simpler way to define immutable…Jul 13, 2024Jul 13, 2024
Pattern Matching in .NETPattern matching is a robust feature in the .NET ecosystem, enabling developers to write more expressive and concise code. The latest…Jul 8, 2024Jul 8, 2024