Chronicles of Domain-Driven Design

Chronicles of Domain-Driven Design

Success stories, experiences from the field, real projects

About the Book

A "choral" book with multiple voices and perspectives, translated from Italian, made up of independent stories resulting from applying Domain-Driven Design to real projects.

Chronicles of Domain-Driven Design is our contribution to bridging the narrative gap in the Italian community. We have limited the educational part to provide a greater focus on the stories: experiences from the field by colleagues who have applied DDD and are happy to have done so.

Domain-Driven Design works. There are success stories; it's just very complicated to write them. With this book, we try to tell some of them.

Authors and chapters

Alberto Brandolini - Overview and Building Blocks

Gianluca Padovani - DDD and Microservices

Marco Consolaro - DDD: creative collaboration and intellectual honesty

Francesco Strazzullo - Domain-Driven Frontend

Emanuele DelBono - DDD and the Actor Model

Alberto Acerbis - Industrial Internet of Things and Domain-Driven Design

Uberto Barbini and Julie Camosseto - DDD for Non-Technical People

Alessandro Colla - The first eCommerce in CQRS+ES: mistakes and successes

Matteo Baglini - DDD meets Functional Programming

This book is a translation into English of Cronache di Domain-Driven Design which was originally written in Italian.

About the Authors

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.

About the Publisher

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

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

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 $13 millionwriting, 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub