My Account Log in

1 option

Domain-driven design with Golang : use Golang to create simple, maintainable systems to solve complex business problems / Matthew Boyle.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Boyle, Matthew, author.
Language:
English
Subjects (All):
Go (Computer program language).
Physical Description:
1 online resource (204 pages)
Edition:
1st ed.
Place of Publication:
London, England : Packt Publishing, [2022]
Biography/History:
Boyle Matthew: Matt Boyle is an experienced technical leader in the field of distributed systems, specializing in using Go. He has worked at huge companies such as Cloudflare & General Electric, as well as exciting high-growth startups such as Curve & Crowdcube. Matt has been writing Go for production since 2018 and often shares blog posts and fun trivia about Go over on Twitter (MattJamesBoyle).
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
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
Chapter 3: Entities, Value Objects, and Aggregates
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
Chapter 4: Exploring Factories, Repositories, and Services
Introducing the factory pattern
Entity factories
Implementing the repository pattern in Golang
Understanding services
Domain services
Application services
Part 2: Real -World Domain-Driven Design with Golang
Chapter 5: Applying Domain-Driven Design to a Monolithic Application
What do we mean when we say monolithic application?
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
Chapter 6: Building a Microservice Using DDD
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
Chapter 7: DDD for Distributed Systems
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
Chapter 8: TDD, BDD, and DDD
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
Index
Other Books You May Enjoy.
Notes:
Description based upon print version of record.
Other Books You May Enjoy
Includes bibliographical references and index.
Description based on print version record.
ISBN:
9781804619261
1804619264
OCLC:
1354208360

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account