12 2019 档案
摘要:我最近写了一个Go微服务应用程序,这个程序的设计来自三个灵感: "清晰架构"Clean Architecture"" ¹ and "SOLID (面向对象设计)" ² 设计 "原则" ³ "Spring的容器技术(Spring’s application context)" ⁴ "Go的简洁设计"
阅读全文
摘要:我使用Go和gRPC创建了一个微服务,并将程序设计和编程的最佳实践应用于该项目。 我写了一系列关于在项目工作中做出的设计决策和取舍的文章,此篇是关于程序设计。 程序的设计遵循 "清晰架构(Clean Architecture)" ¹。 业务逻辑代码分三层:用例(usecase),域模型(model)
阅读全文
摘要:我使用Go和gRPC创建了一个微服务,并试图找出最佳的程序结构,它可以用作我未来程序的模板。 我有Java背景,并发现自己在Java和Go之间挣扎,它们之间的编程理念完全不同。我写了一系列关于在项目工作中做出的设计决策和取舍的文章。 这是其中的第一篇, 是关于程序结构的。 程序结构的资源 Go的标准
阅读全文
摘要:在上一篇“ "云原生的不同解释及正确含义" ”里,我们讲到了云原生的引申含义,就是开发环境也是云环境,这样就能保证开发环境和生产环境的一致性,使最终的部署顺利进行。本文就通过具体的例子来探讨云原生的开发环境。 开发流程主要包括编写代码,程序部署和调试几个环节。每一个环节都需要相应的工具来帮助你提高效
阅读全文
摘要:云原生的解释可以说五花八门,本文从不同角度探讨云原生的内涵以及如何从不同维度准确理解它的含义。 云原生起源 网上有些文章提到云原生是“Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念”。我搜索了英文“CloudNative”,阅读了首页的所有文章,里
阅读全文