Generic types are for arguments, specific types are for return values

Today, we’ll discuss the following guideline: you should use the most generic types possible for arguments and the most specific types possible for return values.

Modeling Relationships in a DDD Way

Let’s talk about modeling of relationships, including the dreaded many-to-many relationships, in a DDD way.

Encapsulating EF Core Usage: New Pluralsight course

My new Pluralsight course about encapsulating EF Core usage went live.

Collections and Primitive Obsession

Does the primitive obsession anti-pattern apply to collections? In other words, should you introduce a custom class for a collection?

How to Assert Database State?

Today, we'll discuss a question that relates to my Unit Testing book: how to assert the state of the database?

Should you Abstract the Database?

This article is inspired by a tweet that I thought would be a good topic for discussion: should you abstract your database?

Database and Always-Valid Domain Model

Today, we’ll talk about an important question: how does the application database fit into the concept of Always-Valid Domain Model?

In other words, is the database part of the always-valid boundary or should you consider it an external system and validate all data coming from it?

Specification Pattern vs Always-Valid Domain Model

There’s an interesting controversy between two DDD topics: the Specification pattern and the Always-Valid domain model.

Nulls in Value Objects

Today, we’ll discuss an interesting use case of handling nulls in value objects. Should you put null inside the value objects themselves or decorate those value objects using the nullable reference type notation (? or Maybe)?

Validation and DDD: New online course

My new Pluralsight course about Validation and DDD went live.