Ultimate .NET Project Setup with Clean Architecture and Domain-Driven Design
An opinionated ASP.NET Core solution setup for creating web applications using Clean Architecture and Domain-Driven Design principles. This setup follows all the latest modern practices and includes f...
Beyond Anemic Domain Models: Bridging the Gap Between Data and Behavior
In this article, Rico Fritzsche discusses the importance of Domain-Driven Design (DDD) and how it can overcome the limitations of Anemic Domain Models. DDD emphasizes blending data and behavior to cre...
Entities and Aggregates: The Heart of Domain-Driven Design Explained
First of all, if you just stumbled across this article without having read the predecessor, I highly recommend taking a look at my previous article, Beyond Anemic Domain Models: Bridging the Gap Betwe...
How to Implement Domain-Driven Design: Common Mistakes You Should Avoid
In today’s chapter of my Domain-Driven Design journey, I want to dive into how we structure our code. This topic holds a special place for me. You see, when code grows, it can easily become a jumbled ...
Strategic DDD Remote Collaboration Toolkit
If you want to get started with Strategic DDD to gain deeper insights into your domain and to align your software architecture with your domain, you can use this free Miro template. The toolkit includ...
Rich Domain Model with DDD/TDD (Reviewed)
Through my journey of building Domain Models I had good and bad experiences that today I share with you to save a few hours of your development time. These are opinionated approaches that I follow whe...
EF configurations are sick! (and work great with DDD)
Entity Framework has established itself as a mature product that can be used to solve any problem. Despite that, not many developers have been using it effectively. Even though, it works perfectly for...
Domain-Driven Design for a Modular Monolith: Bridging the Gap Between Microservices and Monoliths
Trying to migrate but don’t know how to get started? Maybe a modular monolith, aka Modulith, is the answer. A modular monolith is a monolith that is divided into modules, each with its own bounded con...
Rebuilding Twitter Following Clean Architecture and Domain-Driven Design - Amichai Mantinband
Elon Musk tweeted about focusing on hardcore software engineering, which sparked curiosity among many Twitter users. This led to a fictional story where Elon pondered the meaning of hardcore software ...
Domain-Driven Design: Bridging the Gap Between Business and Technology
Domain-Driven Design (DDD) is a software development approach introduced by Eric Evans that focuses on creating software systems closely aligned with the business domain and its needs. DDD emphasizes ...
Message Types in Domain-Driven Design
This article by Alex Alves discusses message types in Domain-Driven Design. A message can be any intention of transmitting and/or processing information, regardless of the way it is produced and consu...
Benefits of using DDD (DDD series part 2)
Domain-Driven Design (DDD) is a software development approach that focuses on understanding the business domain to drive the design of software systems. Among its numerous benefits are improved commun...
Bounded Context (DDD series part 5): Understanding the Importance of Bounded Context in Software Design
Domain-Driven Design (DDD) is a powerful approach to software development that focuses on understanding the business domain and using that understanding to drive the design of software systems. One of...
Domain Model (DDD series part 4): Understanding the Importance of Domain-Driven Design in Software Development
Domain-Driven Design (DDD) is an approach to software development that focuses on understanding the business domain to drive the design of software systems. One of the key building blocks of DDD is th...
Entity (DDD series part 7)
In Domain-Driven Design (DDD), the concept of an Entity is used to represent the key concepts of the business domain. An Entity is an object that has a unique identity and an associated set of attribu...
Mastering Transactions: The Power of Aggregates in DDD (DDD series part 9)
As a software architect, it is important to understand the key concepts and patterns used in Domain-Driven Design (DDD). One of the most important of these concepts is the Aggregate. An Aggregate is a...
Services in Domain-Driven Design (DDD) - Exploring the concept, benefits and usage
In this post, we explore the concept of Services in Domain-Driven Design (DDD), its benefits and how it can be used to improve software system design. Services are used to encapsulate business logic t...
Unlocking the Power of Domain Driven Design in Software Development (DDD series part 1)
Domain Driven Design (DDD) is a set of principles and practices that help developers design and build software systems that are closely tied to the business domain. With DDD, developers strive to crea...
Value object in Domain-Driven Design: Representing Simple Data Types (DDD series part 6)
In Domain-Driven Design, Value Objects represent simple data types like dates, numbers, and strings. They do not have any identity and are defined solely by their attributes. Benefits include a clear ...
Who should consider using DDD? (DDD series part 3)
Domain-Driven Design (DDD) is a powerful approach to software development that can help organizations build software systems that are aligned with their business needs. DDD is particularly useful for ...