Understand the concept of Domain-driven design and build two DDD systems from scratch that can be showcased as part of your portfolio
Key FeaturesExplore Domain-driven design as a timeless concept and learn how to apply it with GoBuild a domain-driven monolithic application and a microservice from scratchLeverage patterns to make systems scalable, resilient, and maintainableBook DescriptionDomain-driven design (DDD) is one of the most sought-after skills in the industry. This book provides you with step-by-step explanations of essential concepts and practical examples that will see you introducing DDD in your Go projects in no time. Domain-Driven Design with Golang starts by helping you gain a basic understanding of DDD, and then covers all the important patterns, such as bounded context, ubiquitous language, and aggregates. The latter half of the book deals with the real-world implementation of DDD patterns and teaches you how to build two systems while applying DDD principles, which will be a valuable addition to your portfolio. Finally, you’ll find out how to build a microservice, along with learning how DDD-based microservices can be part of a greater distributed system. Although the focus of this book is Golang, by the end of this book you’ll be able to confidently use DDD patterns outside of Go and apply them to other languages and even distributed systems.
What you will learnGet to grips with domains and the evolution of Domain-driven designWork with stakeholders to manage complex business needsGain a clear understanding of bounded context, services, and value objectsGet up and running with aggregates, factories, repositories, and servicesFind out how to apply DDD to monolithic applications and microservicesDiscover how to implement DDD patterns on distributed systemsUnderstand how Test-driven development and Behavior-driven development can work with DDDWho this book is forThis book is for intermediate-level Go developers who are looking to ensure that they not only write maintainable code, but also deliver great business value. If you have a basic understanding of Go and are interested in learning about Domain-driven design, or you’ve explored Domain-driven design before but never in the context of Go, then this book will be helpful.
Table of ContentsA brief history of Domain Driven DesignUnderstanding Domains, Ubiquitous Language, and Bounded ContextsAggregates, Entities & Value ObjectsFactories, Repositories & ServicesApplying Domain Driven Design to a monolithic applicationBuilding a microservice using domain driven designDomain Driven Design for distributed systemsTDD, BDD and DDD
Practical book to understand DDD. The content focusing on applying DDD principles using Go with some "real world project". Personally the contents are very limited given the code examples are not fully explainable.
Although, for beginners with Go experience who want to understand DDD, this book can be the starter. Would be be great if the author can focusing more explaining the decision of using specific DDD and using more bigger, end to end examples.
Livro bom pra quem deseja ter uma visão geral de DDD de maneira prática usando a linguagem Go.
Embora seja bem curtinho, eu acho que o livro atinge o objeto a que se propôs. Ele faz uma rápida introdução dos principais conceitos do DDD e aplica isso com código em Go. Achei interessante o fato de ele implementar um projeto com arquitetura monolítica e outro com um viés mais de microsserviços. Embora os projetos não sejam lá tão complexos, eles ajudam a visualizar melhor os conceitos de DDD, que soam muito abstratos num primeiro momento.
A seção que ele fala de testes (TDD, BDD) é bom pobrezinha, mas de certa forma, no começo do livro, o autor deixa claro que os exemplos não tem pretensão de serem códigos prontos para produção, então como ferramenta didática eu acho que vale.
This book is an excellent resource for those seeking a concise introduction to Domain Driven Design. It offers practical guidance on how to apply DDD principles to typical business problems, accompanied with example solutions implemented in Go.
To maximize value, I recommend following along with the examples and inputting the code in your editor. Although there are some minor errors in the printed book's code, thankfully the author has updated the GitHub repository which readers can refer to as needed.
This book provides a practical explanation for Domain Driven Development that can actually be learned and used.
There is also a good portion towards the end that helps one yo understand how TDD and BDD can augment it and work together rather than be considered its own separate concern.
Succinct, well written but not particularly too deep. Great introductory book, and in all likelihood all you need to get started and learn more with practice.