内容简介:我用Go和gRPC创建了一个微服务项目,并试图找出最好的程序结构,它可以作为我其他项目的模板。我还将程序设计和编程的最佳实践应用于Go Microservice程序,例如清晰架构(Clean Architecture),依赖注入(Dependency Injection),日志记录,错误处理等。我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同。我写了一系列关于在项目工作中做出的设计决策和取舍的文章。阅读这些文章不需要熟悉Go,但如果你有Go基础绝对会有帮助。如果你不会Go并且
我用 Go 和gRPC创建了一个微服务项目,并试图找出最好的程序结构,它可以作为我其他项目的模板。我还将程序设计和编程的最佳实践应用于Go Microservice程序,例如清晰架构(Clean Architecture),依赖注入(Dependency Injection),日志记录,错误处理等。我有 Java 背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同。我写了一系列关于在项目工作中做出的设计决策和取舍的文章。
阅读这些文章不需要熟悉Go,但如果你有Go基础绝对会有帮助。如果你不会Go并且无法确定文章中的代码在做什么,那么你需要从这里 Go by Example ¹(你不必完成里面的所有主题,只需要前面几个)学习一些基本的Go。本系列中的“事务支持”涉及到数据库,需要Go中的一些数据库知识,你可以从 Go database / sql tutorial 获取它²。如果你对Go Microservice编程感兴趣并思考和关心代码设计,程序结构,编码风格,日志记录,事务管理和依赖注入,那么这个系列非常适合你。
本系列的侧重点?
本系列不是关于如何快速创建程序原型,而是关于如何进行良好的程序设计使之能适应将来的变化。例如,你可能希望将一个服务的部分功能拆分为单独的微服务,或添加事务支持,或切换到更好的日志记录器,但不想更改代码中的每个日志记录语句。运用此项目中的程序设计,在进行上述更改时不会触及业务逻辑代码。你甚至很少更改任何现有代码(容器代码除外),多数时候只添加新代码,因此QA工作量大大减少。你可以使用此程序作为下一个微服务应用的基础框架,省去了从头开始的麻烦。你唯一需要做的就是熟悉本框架的内部结构。如果你有Spring(Java)背景或来自面向对象的经历,或者知道清晰架构(Clean Architecture)或SOLID (面向对象设计),那么这些代码应该对你很熟悉。
你无需按以下顺序阅读文章。 如果你熟悉 清晰架构(Clean Architecture) ³或 SOLID (面向对象设计) ⁴,你可以按任意顺序阅读文章而不会有任何问题。 但我还是建议你至少先读完第一篇,它将为你提供整个项目的概述,然后你可以选择后面的任何一篇的文章。
- 清晰架构(Clean Architecture)的Go微服务: 程序结构
- 清晰架构(Clean Architecture)的Go微服务: 程序设计
- 清晰架构(Clean Architecture)的Go微服务: 设计原则
- 清晰架构(Clean Architecture)的Go微服务: 编码风格
- 清晰架构(Clean Architecture)的Go微服务: 事物管理
- 清晰架构(Clean Architecture)的Go微服务: 日志管理
- 清晰架构(Clean Architecture)的Go微服务: 程序容器(Application Container)
- 清晰架构(Clean Architecture)的Go微服务: 依赖注入(Dependency Injection)
源程序:
完整的源程序链接 github : https://github.com/jfeng45/se...
索引:
[1] Go by Example
不堆砌术语,不罗列架构,不迷信权威,不盲从流行,坚持独立思考
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 单体架构与微服务架构对比,为什么采用微服务架构
- Java架构书籍:微服务架构必读书单(附微服务架构模式进阶导图)
- 「微服务架构」微服务架构中的数据一致性
- 架构演进之「微服务架构」
- 微服务架构 VS 单体架构
- 从单体架构到微服务架构
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Approximation Algorithms
Vijay V. Vazirani / Springer / 2001-07-02 / USD 54.95
'This book covers the dominant theoretical approaches to the approximate solution of hard combinatorial optimization and enumeration problems. It contains elegant combinatorial theory, useful and inte......一起来看看 《Approximation Algorithms》 这本书的介绍吧!