Index

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

aggregates 53, 54

beyond single bounded context 57

designing 56

discovering 55

Alpha 3 ISO-3166 format 116

Amazon Web Services (AWS) 134

anemic models 45-49

anti-corruption layer 36-38, 121-124

Apache Software Foundation (ASF) 145

application services 69-74

B

behaviour-driven development (BDD) 174-176

Big Blue Book 6

binary serialization 30

black-box testing 154

bounded context 20-22

anti-corruption layer 36-38

Open Host Service 22-24

published language 24, 25

buf

gRPC for Go with 32-35

reference link 32

C

CAP theorem 135-137

Cassandra 136, 137

charges, creating in Stripe

reference link 97

CoffeeCo system

CoffeeBux, paying with 98-101

infrastructure service, adding for payment handling 96, 97

product repository, implementing 93-95

scene, setting 81, 82

service, extending 108

store-specific discounts, adding 102-108

working with 83-93

Command Query Responsibility Segregation (CQRS) 8, 64, 137-139

continuous integration (CI) 30

create, read, update, delete (CRUD) 9

Cucumber

reference link 174

D

databases 135-137

DDD scorecard 9

distributed system 134, 135

characteristics 134, 135

failure, dealing with 141

distributed system patterns 137

CQRS 137-139

EDA 139-141

domain 14, 16

domain-driven design (DDD) 13

adoption 7, 8

applying, to monolithic application 109

history 3-5

pillars 6

scene, setting 14

strategic design 7

tactical design 7

ubiquitous language 6

using, scenarios 9, 10

domain events 140

domain model 7

domain services 66-68

E

entities

example 42-44

warning 45

working with 42

entity factories 63

event 139

event-driven architecture (EDA) 139-141

F

factory pattern 60-63

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

gRPC 30-32

for Go using buf 32-35

selecting 35

gRPC endpoints

reference link 35

H

human resources (HR) 4

I

identifiers

generating 44, 45

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

Kafka 145, 146

challenge 146

M

message bus 145

Kafka 145, 146

NATS 148, 149

RabbitMQ 146-148

microservices 112

anti-corruption layer 121-124

benefits 113

characteristics 113

company, adopting 114

drawbacks 113, 114

recommendation system, building 116-121

scene, setting 114-116

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

OpenAPI 25-30

selecting 35

Open Host Service 22-24

service, exposing via 124-131

P

partnership team 114

payments domain 16

protobuf 31

published language 24, 25

gRPC 30-32

OpenAPI 25-30

R

RabbitMQ 146-148

disadvantages 148

recommendations team 114

Remote Procedure Call (RPC) 23, 112

repositories 63

repository layer 64

repository pattern

implementing, in Golang 63-66

S

saga pattern 142-145

services 66

application services 69-74

domain services 66-68

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

fail test, running 153-156

refactoring 153, 162-173

test, adding 152-155

test, rerunning 153

ticket

for user behaviors 153

two-phase commit (2PC) 141, 142

completion phase 141

preparation phase 141

U

ubiquitous language 16, 17

benefits 17-20

capture, ensuring 20

warning on application 20

unique identifier (UID) 139

universally unique identifiers (UUIDs) 44

user interface (UI) 70

V

value objects 53

working with 49-53

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset