/blog / #ddd
$ tag: #ddd
17 post(s)
$ Related series
$ Posts in this tag
15 min readNEW
The Read Side Does Not Go Through the Aggregate
CQRS read models in Symfony 8: a read port the domain does not own, a query bus that returns a value, and when a projection table earns its place. Part 3.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 3#cqrs#ddd#hexagonal-architecture#symfony#php#postgresql#doctrine18 min readNEW
The Application Layer, the Transaction, and a Working API
Application layer in Symfony 8: use cases on a Messenger command bus, the transaction boundary in config, optimistic locking and RFC 9457 errors. Part 2.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 2#ddd#hexagonal-architecture#symfony#php#cqrs#messenger#software-architecture15 min readNEW
The Domain Model, and the Only Rule That Matters
DDD domain model in PHP 8.5 and Symfony 8: keep the container out of the domain, and choose Doctrine ORM or DBAL with the costs on the table. Series part 1.
DDD, CQRS and Hexagonal Architecture in Symfony 8 · part 1#ddd#hexagonal-architecture#symfony#php#doctrine#software-architecture7 min read
Alternatives to Domain-Driven Design, and When to Use Them
DDD is not a default. The real alternatives, transaction script, active record, table module and tactical-only DDD, and how to tell which you need.
3 min read
Event Sourcing: State as a History of Events
Storing every change as an event instead of overwriting state: how the history is replayed, where event sourcing fits, and the practices it demands.
1 min read
When DDD Fits a Project, and When It Does Not
A short note on the DDD decision: what makes a domain complex enough to be worth modelling, and why introducing it into a legacy system needs a plan.
3 min read
Domain Events in DDD (DDD series part 10)
Discover the benefits of using Domain Events in DDD and how they can improve the flexibility and maintainability of your software.
3 min read
Mastering Transactions: The Power of Aggregates in DDD
Part 9 of the DDD series: the aggregate as a transactional consistency boundary, worked through e-commerce, banking and healthcare examples.
Domain-Driven Design (DDD) Series · part 9#ddd3 min read
Services (DDD series part 8)
Part 8 of the DDD series: what belongs in a domain service, what belongs on an entity or a value object, and how to tell which one you are looking at.
8 min read
Hexagonal Architecture and Domain-Driven Design, Together
Hexagonal architecture is a rule about dependency direction, not a folder layout. What ports and adapters buy you, where DDD attaches, what it costs.
3 min read
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.
3 min read
Bounded Context (DDD series part 5)
Part 5 of the DDD series: a bounded context is the boundary inside which one model and one set of terms hold, and why two contexts must not share it.
2 min read
Domain Model (DDD series part 4)
Part 4 of the DDD series: the domain model as a shared representation of business concepts, relationships and rules, not a diagram of database tables.
2 min read
Value object (DDD series part 6)
Part 6 of the DDD series: value objects carry no identity and are defined entirely by their attributes, which is what makes them safe to share.
2 min read
Who should consider using DDD? (DDD series part 3)
Part 3 of the DDD series: which organisations get value from it, from regulated domains to complex products, and which get overhead instead.
2 min read
Benefits of using DDD (DDD series part 2)
Part 2 of the DDD series: what a shared vocabulary with domain experts actually buys you, and which of the claimed benefits depend on having one.
2 min read
What Domain-Driven Design Is (DDD series part 1)
Part 1 of the DDD series: modelling the business domain rather than the database, and the principles that follow once the model is the centre.