Cronache di Domain-Driven Design
$29.99
Prezzo minimo
$29.99
Prezzo suggerito

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

Info sugli autori

Alberto Acerbis
Alberto Acerbis

I am basically an eternal student, because the subject matter is endless. I've always defined myself as a backend developer, but I don't disdain poking around on the other side of the code either. I like to think that 'writing' software is mainly about solving business problems and providing value to the customer, and in this I find DDD patterns a great help. I work as a software engineer at Intré, a company that espouses this ideology; as a good introvert, I find it difficult to come out of the closet, but I like to get out of my comfort zone to share with others the things I have learnt, so that I can find the right stimuli each time to continue improving. I like to frequent the community world, contributing, when I can, with active proposals. I am co-founder of the DDD Open and Polenta and Deploy communities, and an active member of other communities such as Blazor Developer Italiani.

Matteo Baglini
Matteo Baglini

Co-founder, Software craftsman @ doubleloop.io and Technical Trainer @ Avanscoperta.

Matteo is a developer, speaker and technical coach with a strong focus on simplicity, clean code, design and software architecture.

He aims to create codebases that better adapt to the ever evolving business world.

However, riding a motorcycle is his first passion.

Uberto Barbini
Uberto Barbini

Uberto is a polyglot programmer with more than 20 years of experience designing and building successful software products in many industries.

He discovered that he loves programming when he created a videogame on the ZxSpectrum and he is still very passionate about how to write the best code to deliver value to the business, not only once but at a regular pace.

He is particularly interested in Functional Programming and Distributed Computing since they are both critical to modern software challenges.

When not coding, Uberto loves public speaking, writing and teaching programming. He's currently writing a book about a pragmatic approach to FP in Kotlin (https://pragprog.com/titles/uboop/from-objects-to-functions/).

You can read his blog here: https://medium.com/@ramtop

Alberto Brandolini
Alberto Brandolini

I am helping teams and companies to develop brilliant solutions to complex problems. Sometimes this involves writing software. Sometimes this involves working with people. I like both ways, especially when it leads me into unexplored territories.

I've been coding since 1982, experimenting since ...forever? This led me into Agile, Domain-Driven Design, Lean, Complexity, Management 3.0 and everything needed in order to solve the problem.

I am a father, a husband, an entrepreneur, a consultant, a developer, a teacher, a public speaker, a cook, a drummer... now it's time to be a writer.

A glimpse of what I am into can be found on my blog, and I've been speaking in quite a few places lately. My presentation track is available here.

I run avanscopertaone of the coolest places on earth to teachlearn and experiment

Alessandro Colla
Alessandro Colla

Partner and head of development @ evoluzione, trainer and speaker.

Nel corso di ormai quasi trent'anni passati nel settore IT, ho sviluppato verticalizzazioni per gestionali, creato da zero per i più disparati ambiti e aiutato team nella formazione. Da quando ho iniziato a interessarmi alle pratiche Agile ed al Domain-Driven Design sono costantemente alla "ricerca della verità".

Mi piacciono le lingue straniere, la montagna, sono appassionato di arti marziali e istruttore di Krav Maga.

Marco Consolaro
Marco Consolaro

Describing himself as a software craftsman, systems thinker, Agile technical coach, entrepreneur, philosopher, restless traveler - all blended with Venetian humor - Marco learned coding in Basic on a Commodore when he was nine years old. He graduated from Venice University in 2001 with a degree in Computer Science.

Since then, Marco has worked in Italy and the UK, always looking to learn something new. When his journey led him to the Agile principles, he quickly realized the effectiveness of such an approach for both technical and organizational areas. He now strongly believes that an iterative approach based on trust, transparency, self-organization and quick feedback loops is the key to success for any team in any discipline.

His dream is to see these principles based on Systems Thinking understood and implemented at every level in businesses and public administrations.

Emanuele DelBono
Emanuele DelBono

Emanuele è un architetto e sviluppatore con esperienza ventennale nella realizzazione di applicazioni e servizi web.

Da sempre interessato a imparare nuovi paradigmi, nuove metodologie e nuovi linguaggi, negli ultimi anni si sta dedicando all’analisi, alla progettazione e alla realizzazione di applicazioni enterprise utilizzando Elixir come linguaggio di programmazione.

Convinto ricercatore del Clean Code, è anche docente nei corsi di design del codice e del Test-Driven Development.

Emanuele is an architect and developer with twenty years of experience in building web applications and services.

He has always been interested in learning new paradigms, methodologies, and languages. In recent years, he has been focused on analyzing, designing, and building enterprise applications using Elixir.

He is a strong advocate of Clean Code principles and also teaches code design and Test-Driven Development courses.

Gianluca Padovani
Gianluca Padovani

Founder & CTO at Coders51

I have over twenty years of experience in designing and developing software in different environments (embedded, industrial, manufacturing and entertainment). I have developed many types of software, both working alone and as part of a team. I have been working as a Team Leader/Coach in an XP team. I am very fluent in languages such as C++/C#/Java, Ruby, Javascript and Typescript. In the last five years, I have fallen in love with functional language, especially Erlang and Elixir.

Francesco Strazzullo
Francesco Strazzullo

I'm a Fullstack developer @ Flowing. I started working professionally in the J2EE ecosystem and, later in my career, I decided to specialize in front-end development. Apart from being a developer, I love to share my thoughts and experiences in blog posts and talks. I participated in conferences around Europe talking about JavaScript, Testing and Agile Methodologies.

I'm one of the founders of the Frameworkless Movement, a group of developers interested in developing applications without frameworks.

I transformed my passion for sharing in a second job, I started to give lessons and workshop. In 2017 I became one of the Avanscoperta's trainers with my workshop "Frameworkless Front-End Development". Two years later, I distilled that workshop in a book with the same title.

I spent these last years between developing software and being a consultant helping development teams in making mindful technical decisions.

I really love comics and videogames, so I spent most of my free time reading or playing games on Playstation. I also love cooking, so during the weekends I relax preparing new dishes for my wife.

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?
    • 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?
  • 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
    • 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
  • 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
  • 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!

Follow us on Twitter - Linkedin - Youtube - Meetup

www.avanscoperta.it

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

Scrivi e pubblica con Leanpub

Gli autori e gli editori usano Leanpub per pubblicare incredibili libri in corso e completati, proprio come questo. Puoi usare Leanpub per scrivere, pubblicare e vendere anche il tuo libro! Leanpub è una potente piattaforma per autori seri, unendo un semplice ed elegante workflow di scrittura e pubblicazione con un negozio focalizzato sulla vendita di ebook in corso. Leanpub è una macchina da scrivere magica per gli autori: basta scrivere in testo semplice e pubblicare il tuo ebook, basta fare clic su un pulsante. È davvero così facile.

Ulteriori informazioni sulla scrittura con Leanpub