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 offre una garanzia di felicità. Nessun rischio, 100% di garanzia di soddisfazione
Entro 60 giorni dall'acquisto, è possibile ottenere un rimborso completo del 100% del valore su qualsiasi acquisto Leanpub. Vedi termini completi.
Guadagna $8 su un acquisto di $10 e $16 su un acquisto di $20
Paghiamo 80% di royalties sugli acquisti di $7,99 o più e 80% di royalties meno una tariffa fissa di 50 centesimi sugli acquisti tra $0,99 e $7,98. Guadagni $8 su una vendita di $10 e $16 su una vendita di $20. Quindi, se vendiamo 5000 copie non rimborsate del tuo libro a $20, guadagnerai $80,000.
(Sì, alcuni autori hanno già guadagnato molto più di questo su Leanpub.)
In effetti, gli autori hanno guadagnatooltre 13 milioni di dollari scrivendo, pubblicando e vendendo su Leanpub.
Scopri di più sulla scrittura su Leanpub
Aggiornamenti gratuiti. Senza DRM.
Se acquisti un libro Leanpub, ottieni aggiornamenti gratuiti per tutto il tempo che l'autore aggiorna il libro! Molti autori usano Leanpub per pubblicare i loro libri in corso, mentre li stanno scrivendo. Tutti i lettori ricevono aggiornamenti gratuiti, indipendentemente da quando hanno acquistato il libro o quanto hanno pagato (anche gratis).
La maggior parte dei libri Leanpub sono disponibili in formato PDF (per computer) e EPUB (per telefoni, tablet e Kindle). I formati inclusi in un libro sono mostrati nell'angolo in alto a destra di questa pagina.
Infine, i libri Leanpub non hanno alcuna protezione DRM anti-copia, quindi puoi leggerli facilmente su qualsiasi dispositivo supportato.
Scopri di più sui formati di ebook di Leanpub e dove leggerli