没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
BUILDING MODERN BUSINESS SOFTWARE IN GO
ROBERT LASZCZAK
MIŁOSZ SMÓŁKA
Three Dots Labs
Hey there!
Hi Tony Yam!
This e-book copy has been prepared especially for you on 2021-06-01 and delivered
to corereg@126.com.
The e-book version: 20210514
Thank you for subscribing to our newsletter and we hope you enjoy!
If you want to share this book with your teammates (we hope so!), please let
them know about our newsletter:
https://threedots.tech/newsletter
This will let us focus on creating new content. Thanks!
Contents
1 Welcome on board! 3
2 Building a serverless application with Google Cloud Run and Firebase 5
3 gRPC communication on Google Cloud Run 24
4 Authentication using Firebase 35
5 When to stay away from DRY 46
6 Domain-Driven Design Lite 52
7 The Repository Pattern 65
8 High-Quality Database Integration Tests 81
9 Clean Architecture 97
10 Basic CQRS 112
11 Combining DDD, CQRS, and Clean Architecture 128
12 Tests Architecture 143
13 Repository Secure by Design 161
14 Setting up infrastructure with Terraform 168
15 Running integration tests in the CI/CD pipeline 189
16 Intermission 201
17 Event Storming (Coming soon) 202
18 Bounded Context (Coming soon) 203
19 Ubiquitous Language (Coming soon) 204
1
20 Aggregate (Coming soon) 205
21 Value Object (Coming soon) 206
22 Dependency Injection (Coming soon) 207
© 2021 Three Dots Labs R. Laszczak M. Smółka S.C.
All rights reserved. No part of this book may be reproduced or modied in any form, including photocopying,
recording, or by any information storage and retrieval system, without permission in writing from the authors.
Cover design: Izabela Górecka
2
Chapter 1
Welcome on board!
Why business software
If you think “business software” is just enterprise payroll applications, think again. If you work on any web
application or SaaS product, you write business software.
You’ve seen poor code before, and we did as well. What’s worse, we’ve experienced how poorly designed codebases
hold the product’s rapid growth and the company’s success.
We looked into dierent patterns and techniques on how to improve this. We applied them in practice within our
teams and seen some work very well.
Why Go
Go’s initial success happened mostly within low-level applications, like CLI tools and infrastructure software, like
Kubernetes. However, Go 2020 Survey
1
shows that majority of Go developers write API/RPC services. 68% percent
of respondents use Go for “web programming”.
Some claim that Go is missing advanced features to become a productive tool. On the other hand, we feel simplicity
is Go’s strength. It’s viable for writing business applications not despite the lack of features but because of it.
You don’t want your business’s most crucial code to be smart and using the latest hacks. You need it to be
maintainable, extremely clear, and easy to change. We’ve found that using Go along advanced architectural
patterns can give you that.
It’s naive to think you will avoid technical debt just thanks to using Go. Any software project that’s complex
enough can become a Big Ball of Mud
2
if you don’t think about its design beforehand. Spoiler alert: microservices
don’t reduce complexity.
1
https://blog.golang.org/survey2020-results
2
https://en.wikipedia.org/wiki/Big_ball_of_mud
3
剩余208页未读,继续阅读
资源评论
CoreUML
- 粉丝: 8
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功