As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.
A
adapter layer 36
adapter pattern 121
Advanced Messaging Queuing Protocol (AMQP) protocol 139
aggregate pattern 53
order 53
team 54
wallet 54
beyond single bounded context 57
designing 56
discovering 55
Alpha 3 ISO-3166 format 116
Amazon Web Services (AWS) 134
anti-corruption layer 36-38, 121-124
Apache Software Foundation (ASF) 145
B
behaviour-driven development (BDD) 174-176
Big Blue Book 6
binary serialization 30
black-box testing 154
buf
reference link 32
C
charges, creating in Stripe
reference link 97
CoffeeCo system
infrastructure service, adding for payment handling 96, 97
product repository, implementing 93-95
service, extending 108
store-specific discounts, adding 102-108
Command Query Responsibility Segregation (CQRS) 8, 64, 137-139
continuous integration (CI) 30
create, read, update, delete (CRUD) 9
Cucumber
reference link 174
D
DDD scorecard 9
failure, dealing with 141
distributed system patterns 137
domain-driven design (DDD) 13
applying, to monolithic application 109
pillars 6
scene, setting 14
strategic design 7
tactical design 7
ubiquitous language 6
domain events 140
domain model 7
E
entities
warning 45
working with 42
entity factories 63
event 139
event-driven architecture (EDA) 139-141
F
entity factories 63
G
Gang of Four (GoF) 5
behavioral patterns 6
creational patterns 5
structural patterns 6
Gherkin
reference link 174
Golang
repository pattern, implementing 63-66
GORM 49
URL 49
selecting 35
gRPC endpoints
reference link 35
H
human resources (HR) 4
I
identifiers
input and output (I/O) events 139
International Business Machines Corporation (IBM) 8
International Organization for Standardization (ISO) 116
ISO-8601 format 116
J
Java 4
K
challenge 146
M
message bus 145
microservices 112
benefits 113
characteristics 113
company, adopting 114
recommendation system, building 116-121
service, exposing via open host service 124-131
minimum viable product (MVP) 82
Mongo 135
monolithic application/monolith 80
advantages 80
building, with domain-driven design principles 81
disadvantages 81
domain-driven design (DDD), applying to 109
N
Neural Autonomic Transport System (NATS) 148, 149
O
object-oriented design (OOD) 4
object-oriented (OO) code 4
object-oriented (OO) languages 138
object-relational mappings (ORMs) 49
OOD patterns 5
OO programming (OOP) 4
selecting 35
P
partnership team 114
payments domain 16
protobuf 31
R
disadvantages 148
recommendations team 114
Remote Procedure Call (RPC) 23, 112
repositories 63
repository layer 64
repository pattern
S
services 66
single point of failure (SPOF) 136
Square
reference link 98
sub-domains 16
subscriptions domain 16
Swagger 25
Swagger Editor
reference link 27
T
test-driven development (TDD) 152
code, writing to pass test 153, 156-161
test, rerunning 153
ticket
for user behaviors 153
two-phase commit (2PC) 141, 142
completion phase 141
preparation phase 141
U
capture, ensuring 20
warning on application 20
unique identifier (UID) 139
universally unique identifiers (UUIDs) 44
user interface (UI) 70
V
value objects 53