Domain-Driven Design with Golang

by Matthew Boyle

Software Development

Book Details

Book Title

Domain-Driven Design with Golang: Use Golang to create simple, maintainable systems to solve complex business problems

Author

Matthew Boyle

Publisher

Packt Publishing

Publication Date

2022

ISBN

9781804613450

Number of Pages

172

Language

English

Format

PDF

File Size

2MB

Subject

Domain-Driven Design

Table of Contents

  • Contributors
  • About the author
  • About the reviewers
  • Preface
  • Part 1: Introduction to Domain-Driven Design
  • Chapter 1: A Brief History of Domain-Driven Design
  • The world before DDD
  • 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
  • Bounded contexts
  • Summary
  • Further reading
  • Chapter 3: Entities, Value Objects, and Aggregates
  • Technical requirements
  • Working with entities
  • Working with value objects
  • The aggregate pattern
  • Summary
  • Further reading
  • Chapter 4: Exploring Factories, Repositories, and Services
  • Technical requirements
  • Introducing the factory pattern
  • Implementing the repository pattern in Golang
  • Understanding 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
  • Summary
  • Further reading
  • Chapter 6: Building a Microservice Using DDD
  • Technical requirements
  • What do we mean by 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?
  • Distributed system patterns
  • Dealing with failure
  • What is a message bus?
  • Summary
  • Further reading
  • Chapter 8: TDD, BDD, and DDD
  • Technical requirements
  • TDD
  • BDD
  • Summary
  • Index
  • Other Books You May Enjoy