Implementing Domain Driven Desing With Spring
Implementing Domain Driven Desing With Spring
Messaging
(Kafka, RabbitMQ,
SQS …)
Persistence
(JPA, JDBC,
Business Logic MongoDB
(@Service) …+
@Repository)
Caching
(Redis, Caffeine,
…)
Business Logic
Persistence
Messaging
(JPA, JDBC,
(Kafka, RabbitMQ,
MongoDB
SQS …)
…)
Caching
(Redis, Caffeine,
…)
Maciej Walkowiak | @maciejwalkowiak
HTTP Clients
HTTP API (@HttpExchange,
(Spring MVC, RestClient,
Spring WebFlux) OpenFeign)
Domain
Model
Persistence
Messaging
(JPA, JDBC,
(Kafka, RabbitMQ,
MongoDB
SQS …)
…)
Caching
(Redis, Caffeine,
…)
Maciej Walkowiak | @maciejwalkowiak
DOMAIN MODEL ENCAPSULATES
DOMAIN KNOWLEDGE,
DOMAIN RULES,
Domain
PROCESSES, CONSTRAINTS, Model
DESIGN Repositorie
s
Domain Model
Domain
Services
Aggregates Factories
The bar code is printed in the library and pasted on each copy of the
book. Each copy has its own unique bar code.
If the book is not yet in the catalog, it should be added there with
information about the title and ISBN.
As a library user, I want to borrow a copy of
a book. I want to know up until when I can
As a library user, I want to return a copy of hold the book so that I don't pay a fee.
a book I borrowed. If the book is returned
after the return date, user must pay a fee.
The bar code is printed in the library and pasted on each copy of the
book. Each copy has its own unique bar code.
If the book is not yet in the catalog, it should be added there with
information about the title and ISBN.
As a library user, I want to borrow a copy of
a book. I want to know up until when I can
As a library user, I want to return a copy of a
hold the book so that I don't pay a fee.
book I borrowed. If the book is returned
after the return date, user must pay a fee.
Thanks Oliver!