Il corso

Introduzione a DDD, CQRS e i loro pattern

Costruire un’applicazione completa (a microservizi) applicando DDD.

ddd cqrs

Il corso Introduzione a DDD, CQRS e i loro pattern

Cosa mi porto a casa con questo corso? Qual è il motivo per cui dovrei interessarmi a questo argomento?

Durante questo intenso programma di formazione, ti guideremo alla scoperta dei fondamenti e delle pratiche del Domain-Driven Design (DDD).

Esplorerai il motivo per cui il DDD è essenziale nel distinguere il contesto dei problemi da quello delle soluzioni. Attraverso esercizi interattivi, imparerai a riconoscere le differenze e ad affrontare in modo efficace le sfide complesse che si presentano durante lo sviluppo del software. Inoltre, approfondirai l’importanza della categorizzazione della complessità, tratto distintivo dei pensieri di esperti come Vaughn Vernon, Scott Wlaschin e Dan North.

Successivamente, ti immergerai nel mondo degli strategic pattern, esplorando concetti come l’Ubiquitous Language ed il Domain Language. Attraverso esempi pratici e discussioni di gruppo, scoprirai come rendere esplicite le implicazioni nascoste e garantire la coerenza del modello del dominio all’interno dei contesti circoscritti.

Studierai i Tactical Pattern, esaminando da vicino Entity, Value Object e Aggregate. Attraverso una combinazione di presentazioni, esercitazioni pratiche e discussione collettiva, acquisirai una comprensione approfondita di questi concetti chiave e delle loro interazioni all’interno dell’architettura del dominio.

Le ultime giornate del corso si concentreranno sull’applicazione pratica degli insegnamenti acquisiti. Esplorerai architetture come i monoliti modulari, l’Onion Architecture, la Hexagonal Architecture e il CQRS. Inoltre, avrai l’opportunità di approfondire l’Event Sourcing, inclusi il testing degli eventi, la gestione delle versioni e le varie tipologie di long running process.

Non perdere l’opportunità di partecipare a questo corso intensivo che ridefinirà il tuo approccio allo sviluppo del software. I posti sono limitati, quindi iscriviti ora per garantire la tua presenza!

Introduzione a DDD, CQRS ed i loro pattern

Quando: 8-9-10 Novembre 2023

Dove: MIA-Platform, via Imbonati 18, Milano

Prezzo: Regular 1400 euro (iva inclusa)
Early Bird 1150 euro (iva inclusa) fino al 6 Ottobre

Lingua: italiano

Cosa imparerai

Durante il corso esplorerai i fondamenti e delle pratiche del Domain-Driven Design (DDD): analizzerai il motivo per cui il DDD è essenziale nel distinguere il contesto dei problemi da quello delle soluzioni. Attraverso esercizi interattivi, imparerai a riconoscere le differenze e ad affrontare in modo efficace le sfide complesse che si presentano durante lo sviluppo del software. Inoltre, approfondirai l’importanza della categorizzazione della complessità, tratto distintivo dei pensieri di esperti come Vaughn Vernon, Scott Wlaschin e Dan North.

Successivamente, ti immergerai nel mondo degli Strategic Pattern, esplorando concetti come l’Ubiquitous Language ed il Domain Language. Attraverso esempi pratici e discussioni di gruppo, scoprirai come rendere esplicite le implicazioni nascoste e garantire la coerenza del modello del dominio all’interno dei contesti circoscritti.

Studierai i Tactical Pattern, esaminando da vicino Entity, Value Object e Aggregate. Attraverso una combinazione di presentazioni, esercitazioni pratiche e discussione collettiva, acquisirai una comprensione approfondita di questi concetti chiave e delle loro interazioni all’interno dell’architettura del dominio.

L’ultima giornata del corso si concentrerà sull’applicazione pratica degli insegnamenti acquisiti. Esplorerai architetture come i monoliti modulari, l’Onion Architecture, la Hexagonal Architecture e il CQRS. Inoltre, avrai l’opportunità di approfondire l’Event Sourcing, inclusi il testing degli eventi, la gestione delle versioni e le varie tipologie di long running process.

Il programma

Giorno 1

Perché DDD

  • Problem space vs Solution space.
  • Dealing with and categorizing complexity
  • Decision Making and Biases (I 5 livelli di ignoranza)

Strategic Patterns

  • Ubiquitous Language
    • Domain Language
    • Making Implicit Explicit
    • Domain Model Consistency

Giorno 2

Tactical Patterns exercises

  • Entity
  • Value Object
  • Aggregate
  • Aggregate Root
  • Aggregate event sourced

Giorno 3

Down to the code

  • Hexagonal architecture
  • CQRS pattern
    • Exercises

Strategic Patterns

  • Bounded Context
  • Context Mapping
    • Patterns
    • Exercises

Tactical Patterns Introduction

  • Entity
  • Value Object
  • Aggregate
  • Aggregate Root
  • Event sourced aggregate

Down to the code

  • Monoliti a moduli
  • Onion architecture

I tuoi docenti

Alberto Acerbis

Alberto è sviluppatore, architetto e formatore. Lavora principalmente con tecnologie Microsoft, ma ama spaziare in diverse tecnologie. Per lui scrivere software significa risolvere problemi di business e fornire valore al cliente. Trova che i pattern del DDD siano di grande aiuto per raggiungere lo scopo.
Alberto frequenta numerose community, condividendo le sue esperienze. È co-founder della community “DDD-Open” e membro attivo di altre community come la “Blazor Community Italia”. Collabora con Intré e Agile Reloaded.

Alessandro Colla

Come molti della sua generazione, si è avvicinato alla programmazione quando gli regalarono un Commodore64: da lì, il passaggio dal giocare a cercare di fare un gioco fu breve ed iniziò ad appassionarsi ai linguaggi. A 16 anni passò ad un 8086 per poi seguire tutte le evoluzioni hardware, dei sistemi operativi e dei linguaggi di programmazione. Nel corso di ormai trent’anni passati nel settore IT, Alessandro ha sviluppato verticalizzazioni per gestionali, da zero per i più disparati ambiti e aiutato team nella loro formazione. È anche co-autore del libro “Cronache di Domain-Driven Design”, co-founder di “DDD Open” e di “Polenta and Deploy”.


Domande utili

A chi è rivolto il corso?

A sviluppatori software, tech leaders, architects e chiunque altro voglia comprendere appieno le potenzialità offerte dal DDD.

Ci sono prerequisiti per partecipare?

Aver lavorato almeno 6 mesi in un contesto di team Agile.

Cosa sarò a fine corso? In cosa sarò migliore? Cosa sarò in grado di fare? Cosa avrò costruito?

Alla fine del corso, avrai acquisito una solida base di conoscenze e competenze nel Domain-Driven Design, che ti renderanno un professionista più sicuro e competente nel creare soluzioni software sofisticate. Sarai in grado di applicare i principi del DDD per affrontare le sfide complesse del tuo dominio specifico e costruire soluzioni di alta qualità che si adattano alle esigenze in continua evoluzione del tuo progetto.

Quanto dura il corso?

Il corso dura 3 giornate.


Non trovi il corso che fa al caso tuo?
Cerchi un corso costruito ad hoc per la tua azienda?
Vuoi partecipare al corso insieme al tuo team?

Richiedi informazioni