Cronache di Domain-Driven Design
Cronache di Domain-Driven Design
Storie di successo, esperienze sul campo, progetti reali
Info sul libro
Un libro corale in italiano fatto di storie indipendenti tra loro, che sono il risultato dell’applicazione di Domain-Driven Design su progetti reali.
Cronache di Domain-Driven Design è il nostro contributo per colmare il gap narrativo nella community italiana. Abbiamo limitato la parte didattica per poterci concentrare sulle storie: esperienze sul campo di colleghi e colleghe che hanno applicato DDD e sono felici di averlo fatto.
Domain-Driven Design funziona, le storie di successo ci sono: è solo molto complicato scriverle. Con questo libro proviamo a raccontarne alcune.
Autori e capitoli
Alberto Brandolini - Overview e Building Blocks
Gianluca Padovani - DDD e Microservizi
Marco Consolaro - DDD: collaborazione creativa e onestà intellettuale
Francesco Strazzullo - Domain-Driven Frontend
Emanuele DelBono - DDD e Actor Model
Alberto Acerbis - Industrial Internet of Things e Domain-Driven Design
Uberto Barbini e Julie Camosseto - DDD per Non-Tecnici
Alessandro Colla - Il primo eCommerce in CQRS+ES: errori e successi
Matteo Baglini - DDD incontra Functional Programming
Indice
-
Building Blocks
-
Perché Domain-Driven Design
-
Quale problema risolviamo
- Ambito di applicazione
- The journey, not the destination
- La regola del fight club
- Il traino dei Microservizi
- DDD come un bersaglio in movimento
- Perché questo libro?
-
Quale problema risolviamo
-
Comprendere il dominio
- Ubiquitous Language
-
Bounded Contexts
- Modelli senza compromessi
- L’importanza di proteggere i confini
- Complessità accidentale
- Creative Collaboration
-
Model Exploration Whirlpool
- Un’opzione non è abbastanza
- Breakthrough
- Deliberate Discovery
-
EventStorming
- Big Picture EventStorming
- Process Modelling
-
Strategia
- Il rapporto con il business
-
Strategic Distillation
- Sviluppare nel core domain
- Trovare il Core Domain con Big Picture EventStorming
-
Context Mapping
- Brownfield Context Mapping - Scegliere le battaglie
- Greenfield Context Mapping - Disegnare i confini
- Team Topologies
-
Architetture
-
Blue Book Architecture
- Architettura a strati
- Tactical patterns
- L’effetto combinato
- Implementare i Bounded Context
- Architettura Esagonale
-
Red Book
- Comandi ed eventi
- Services e layers
-
Command-Query Responsibility Segregation (CQRS)
- Segregazione forte
-
Event Sourcing
- Implementare aggregati in Event Sourcing
- Event Store
- CQRS/ES
-
Event-Driven Architecture
- Domain Events vs Integration Events
-
Microservizi
- La sovrapposizione con i Bounded Context
- Mantenere la visione d’insieme
- Functional Programming
- Actor Model
-
Software Design EventStorming
- Precisi nel dominio, aperti nell’implementazione
- Behaviour-Driven Development
- Va bene tutto?
-
Blue Book Architecture
-
Perché Domain-Driven Design
-
Storie
-
DDD e Microservizi
- Introduzione
- DDD loves MS
-
La classe che tutti vogliono
- Microservizi a livello di Bounded Context
- La PCI-DSS, questa sconosciuta
- E infine venne il M O N O L I T E…
-
Brutte Storie
- Mi sembra che vada tutto troppo bene
- Cosa vuoi che succeda se rinominiamo un campo?
- Quindi che devo fare?
- Conclusioni
-
Domain-Driven Design: collaborazione creativa e onestà intellettuale
- Introduzione
- Collaborazione
- Creatività
- Onestà intellettuale
- Una visione sistemica
- Come metterlo in pratica?
-
Domain-Driven Front-end
- Un problema di linguaggio
- La prima divisione: introduciamo i Services
- Enter the Aggregates
- Una questione di Eventi
- Com’è andata a finire?
-
DDD e Actor Model
-
Introduzione
- Un po’ di storia
- Arrivano i requisiti
- Il carrello
- L’implementazione
- Retrospettiva
-
Introduzione
-
Industrial Internet of Things e Domain-Driven Design
- IIoT e Domain-Driven Design
- Gestiamo il parcheggio
- Arrivano gli imprevisti
- Conclusioni
-
DDD per Non-Tecnici
- Introduzione
- Una chiacchierata tra uno sviluppatore e una Programme Manager
- Conclusioni
-
Il primo eCommerce in CQRS+ES: errori e successi
- Il cambio di mentalità nel codice e nella UX
- Eventi, stati e TDD
- Le soddisfazioni nel capire cosa succede in tempo zero
- Il Versioning
- Dagli automatismi di un “IoC container” al bootstrapper lungo un chilometro
- Conclusioni
-
DDD e Microservizi
-
Bonus
-
DDD incontra Functional Programming
- Introduzione
- Di cosa parliamo quando parliamo di Functional Programming
-
Cosa ci insegnano i Value Objects
- Il bello di non cambiare mai
- Quello che non sai di non sapere
- Functional Programming Language
-
Refactor DDD to FP
- Introduzione al dominio
- Aggregate Root nella forma classica
- Primo Refactoring: completa immutabilità
-
Secondo Refactoring: tipi di dati algebrici
- Prodotto
- Somma
- Pattern Matching
- Sfruttiamo gli ADT
-
Terzo Refactoring: rimuoviamo le eccezioni
- Introduzione alle Monadi
- Fase di creazione
- Fase di combinazione
- Mettiamoci un po’ di zucchero
- Fase di consumo
- Rimuoviamo le eccezioni
- Application Layer
- Infrastructure layer
- FP adora Event Sourcing (e viceversa)
- Conclusioni
-
Gli autori dei capitoli contenuti in questo libro
- Alberto Acerbis
- Matteo Baglini
- Uberto Barbini
- Alberto Brandolini
- Julie Camosseto
- Alessandro Colla
- Marco Consolaro
- Emanuele DelBono
- Gianluca Padovani
- Francesco Strazzullo
- Bibliografia
-
DDD incontra Functional Programming
- Note
Info sull'editore

This book is published on Leanpub by Avanscoperta
Avanscoperta is the go-to learning space for software developers and any professional involved in the digital ecosystem.
As a publisher, we want to help some of our most innovative trainers and collaborators to formalize their wisdom in books.
We are a growing community of professionals and we share a great passion for learning: we like exchanging experiences and ideas, and exploring uncharted territories within the software world in its broadest possible meaning.
Our goal is to spread knowledge independently from the format (courses, publications, talks...) so getting into books seemed obvious.
We strongly believe that high quality always pays off. We carefully select the most relevant topics and the best trainers and thought leaders worldwide. We prefer practical teaching approaches, even in the remote scenario, with an eye for the most engaging teaching techniques. Start from the problems, not from the solutions: that’s the guiding principle we always stick to when building our educational offer.
We want to turn the software world into a better place, and we do all we can to make it happen, one step at a time, learning something new every day. That’s why our motto is We Are Learners!
Leanpub è garantito dalla formula soddisfatti o rimborsati. Nessun rischio, garanzia di Felicità al 100%
Entro 60 giorni dall'acquisto è possibile ottenere un rimborso completo del 100% del valore su qualsiasi acquisto Leanpub. Vedi completi.
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 million USDwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets, and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them