Skip to content

Clean architecture

Functional C# in Practice: Records, Immutability, and Pipelines for Safer Domain Logic

Functional C# in Practice: Records, Immutability, and Pipelines for Safer Domain Logic

1 The Functional Renaissance in Modern .NET Functional ideas have been part of .NET since LINQ appeared in 2007, but the environment we build software in today is very different. Modern systems ar

Read More
Property-Based Testing in C#: Breaking Your Assumptions with FsCheck and xUnit

Property-Based Testing in C#: Breaking Your Assumptions with FsCheck and xUnit

1 The Paradigm Shift: From verifying Examples to Enforcing Laws Most teams rely heavily on example-based tests. They write a few “happy path” tests, add some edge cases they can think of, and assu

Read More
Advertisement
Precision Matters: Handling Money, Time Zones, and Ranges Correctly in C#

Precision Matters: Handling Money, Time Zones, and Ranges Correctly in C#

1 The Hidden Cost of Imprecision Precision issues in financial and time-based systems rarely appear as obvious failures. They show up as small inconsistencies—pennies lost in calculations, off-by-

Read More
The Anemic Domain Model Antidote: Rich Domain Objects with Value Objects, Specifications, and Domain Services in Modern C#

The Anemic Domain Model Antidote: Rich Domain Objects with Value Objects, Specifications, and Domain Services in Modern C#

1 The Anemic Domain Model Problem in Modern .NET The “anemic domain model” is one of the most persistent architectural anti-patterns in enterprise .NET applications. It looks fine in the beginning

Read More
Practical OOP : Composition Over Inheritance, Records, and Pattern Matching in Modern C#

Practical OOP : Composition Over Inheritance, Records, and Pattern Matching in Modern C#

1 Why “Practical OOP” in Modern C# Modern C# is a different language than it was a decade ago. Between records, pattern matching, primary constructors, and the shift toward functional-style immuta

Read More
From SOLID to CUPID: Design Principles That Survive Production in Cloud-Native .NET

From SOLID to CUPID: Design Principles That Survive Production in Cloud-Native .NET

1 Executive summary and reading guide 1.1 What this article covers This article explores the gap between classical design principles and the realities of cloud-native production — where pods

Read More
Object-Oriented, Functional, or Reactive? A Pragmatic Paradigm Playbook for .NET Teams

Object-Oriented, Functional, or Reactive? A Pragmatic Paradigm Playbook for .NET Teams

1 Introduction: The Myth of the One True Paradigm Software architects and senior developers often drift into a “one-paradigm” mindset: OOP is the safe default. Or FP is proclaimed the silver bulle

Read More
FluentValidation Deep Dive: From Complex Rules to Enterprise-Ready Architecture

FluentValidation Deep Dive: From Complex Rules to Enterprise-Ready Architecture

1 Introduction: The Case for Fluent Validation Validation sits at the heart of every enterprise-grade system. Whether you’re processing user sign-ups, orchestrating financial transactions, or enfo

Read More
The Right Tool for the Job: An Architect's Guide to Leveraging F# and VB.NET in a C#-Dominant World

The Right Tool for the Job: An Architect's Guide to Leveraging F# and VB.NET in a C#-Dominant World

1 Introduction: The Illusion of a Monolingual .NET Ecosystem The .NET ecosystem is vast, mature, and battle-tested. If you’ve been working within it for any length of time, chances are that your p

Read More