Description |
1 online resource (204 p.) |
Note |
Description based upon print version of record. |
Contents |
Cover -- Title Page -- Copyright and credits -- Contributors -- About the reviewers -- Table of Contents -- Preface -- Part 1: Introduction to Domain-Driven Design -- Chapter 1: A Brief History of Domain-Driven Design -- The world before DDD -- So, what are OOD patterns? -- Eric Evans and DDD -- Three pillars of DDD -- Adoption of DDD -- When should you use DDD? -- Summary -- Further reading -- Chapter 2: Understanding Domains, Ubiquitous Language, and Bounded Contexts -- Technical requirements -- Setting the scene -- Domains and sub-domains -- Ubiquitous language |
|
Benefits of ubiquitous language -- Bounded contexts -- Open Host Service -- Published language -- Anti-corruption layer -- Summary -- Further reading -- Chapter 3: Entities, Value Objects, and Aggregates -- Technical requirements -- Working with entities -- Generating good identifiers -- A warning when defining entities -- A note on object-relational mapping -- Working with value objects -- How should I decide whether to use an entity or value object? -- The aggregate pattern -- Discovering aggregates -- Designing aggregates -- Aggregates beyond a single bounded context -- Summary |
|
Further reading -- Chapter 4: Exploring Factories, Repositories, and Services -- Technical requirements -- Introducing the factory pattern -- Entity factories -- Implementing the repository pattern in Golang -- Understanding services -- Domain services -- Application services -- Summary -- Part 2: Real -World Domain-Driven Design with Golang -- Chapter 5: Applying Domain-Driven Design to a Monolithic Application -- Technical requirements -- What do we mean when we say monolithic application? -- Setting the scene -- Getting started with our CoffeeCo system -- Implementing our product repository |
|
Adding an infrastructure service for payment handling -- Paying with CoffeeBux -- Adding store-specific discounts -- Extending our service -- Summary -- Further reading -- Chapter 6: Building a Microservice Using DDD -- Technical requirements -- A friendly warning (again) -- What do we mean by microservices? -- What are the benefits of microservices? -- What are the downsides of microservices? -- Should my company adopt microservices? -- Setting the scene (again) -- Building a recommendation system -- Revisiting the anti-corruption layer -- Exposing our service via an open host service |
Summary |
Chapter 7: DDD for Distributed Systems -- Technical requirements -- What is a distributed system? -- CAP theorem and databases -- Distributed system patterns -- CQRS -- EDA -- Dealing with failure -- Two-phase commit (2PC) -- The saga pattern -- What is a message bus? -- Kafka -- RabbitMQ -- NATS -- Summary -- Further reading -- Chapter 8: TDD, BDD, and DDD -- Technical requirements -- TDD -- Adding a test -- Run the test we just wrote - it should fail (and we should expect it to) -- Write as little code as possible to pass the test -- Refactoring -- BDD -- Summary -- Index |
Note |
Other Books You May Enjoy |
Subject |
Go (Computer program language)
|
|
Go (Langage de programmation) |
|
Go (Computer program language) |
Other Form: |
Print version: Boyle, Matthew Domain-Driven Design with Golang Birmingham : Packt Publishing, Limited,c2022 |
ISBN |
9781804619261 |
|
1804619264 |
|