摘要:要想快速高效率地掌握Go语言,关键是要通过不断写代码去训练,熟能生巧。方法是没问题的,但具体的路径呢?就像开车,能不能给个导航?我希望这篇文章能起到一个导航的作用,这里提供的路径,应该对很多人都适合。当然每个人的具体情况不同,因此路径会有差异。你可以对这个路径进行剪裁,得到最适合自己的。 目标(快速 阅读全文
posted @ 2020-03-18 10:27 倚天码农 阅读 (284) 评论 (4) 编辑
摘要:我用Go和gRPC创建了一个微服务项目,并试图找出最好的程序结构,它可以作为我其他项目的模板。我还将程序设计和编程的最佳实践应用于Go Microservice程序,例如清晰架构(Clean Architecture),依赖注入(Dependency Injection),日志记录,错误处理等。我有 阅读全文
posted @ 2020-02-17 09:36 倚天码农 阅读 (73) 评论 (0) 编辑
摘要:编码风格在编程中是一个相对乏味的主题,但是合适的编码风格对一个有效的程序员是至关重要的。 它有三个组成部分: 1. 程序结构 ( application layout) 1. 编码规则或风格 1. 命名约定 我已经在 "清晰架构(Clean Architecture)的Go微服务: 程序结构" ¹中 阅读全文
posted @ 2020-02-03 10:05 倚天码农 阅读 (169) 评论 (0) 编辑
摘要:为了支持业务层中的事务,我试图在Go中查找类似Spring的声明式事务管理,但是没找到,所以我决定自己写一个。 事务很容易在Go中实现,但很难做到正确地实现。 需求: 1. 将业务逻辑与事务代码分开。 在编写业务用例时,开发者应该只需考虑业务逻辑,不需要同时考虑怎样给业务逻辑加事务管理。如果以后需要 阅读全文
posted @ 2020-01-22 09:13 倚天码农 阅读 (170) 评论 (0) 编辑
摘要:在清晰架构(Clean Architecture)中,应用程序的每一层(用例,数据服务和域模型)仅依赖于其他层的接口而不是具体类型。 在运行时, "程序容器" ¹负责创建具体类型并将它们注入到每个函数中,它使用的技术称为 "依赖注入" ²。 以下是要求。 容器包的依赖关系: 1. 容器包是唯一依赖于 阅读全文
posted @ 2020-01-16 10:11 倚天码农 阅读 (240) 评论 (0) 编辑
摘要:清晰架构(Clean Architecture)的一个理念是隔离程序的框架,使框架不会接管你的应用程序,而是由你决定何时何地使用它们。在本程序中,我特意不在开始时使用任何框架,因此我可以更好地控制程序结构。只有在整个程序结构布局完成之后,我才会考虑用某些库替换本程序的某些组件。这样,引入的框架或第三 阅读全文
posted @ 2020-01-09 19:58 倚天码农 阅读 (138) 评论 (2) 编辑
摘要:良好的日志记录可以提供丰富的日志数据,便于在调试时发现问题,从而大大提高编码效率。 记录器提供的自动化信息越多越好,日志信息也需要以简洁的方式呈现,便于找到重要的数据。 日志需求: 1. 无需修改业务代码即可切换到其他日志库 1. 不需直接依赖任何日志库 1. 整个应用程序只有一个日志库的全局实例, 阅读全文
posted @ 2020-01-03 16:05 倚天码农 阅读 (305) 评论 (0) 编辑
摘要:我最近写了一个Go微服务应用程序,这个程序的设计来自三个灵感: "清晰架构"Clean Architecture"" ¹ and "SOLID (面向对象设计)" ² 设计 "原则" ³ "Spring的容器技术(Spring’s application context)" ⁴ "Go的简洁设计" 阅读全文
posted @ 2019-12-30 09:21 倚天码农 阅读 (229) 评论 (0) 编辑
摘要:我使用Go和gRPC创建了一个微服务,并将程序设计和编程的最佳实践应用于该项目。 我写了一系列关于在项目工作中做出的设计决策和取舍的文章,此篇是关于程序设计。 程序的设计遵循 "清晰架构(Clean Architecture)" ¹。 业务逻辑代码分三层:用例(usecase),域模型(model) 阅读全文
posted @ 2019-12-26 09:19 倚天码农 阅读 (224) 评论 (0) 编辑
摘要:我使用Go和gRPC创建了一个微服务,并试图找出最佳的程序结构,它可以用作我未来程序的模板。 我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同。我写了一系列关于在项目工作中做出的设计决策和取舍的文章。 这是其中的第一篇, 是关于程序结构的。 程序结构的资源 Go的标准 阅读全文
posted @ 2019-12-20 11:39 倚天码农 阅读 (244) 评论 (0) 编辑