上一篇我写到了项目初始化完成,今天接着写。目标是完成项目基本的代码目录架构。
第一步
首先,创建main.go文件,作为我们的程序的入口文件。
第二步
顺着思路走,我们先不写具体的代码,有了入口文件之后,我们下一步应该怎么做?读取配置?不,应该是写日志了。所以我们创建一个logger目录,用来存放日志组件。
第三步
现在是时候,读取我们项目的配置了,我们创建一个config目录来存放配置有关的东西。
第四步
想想,我们读取完配置之后,配置一般可能包含哪些东西?是不是有数据库的配置?是不是有队列的配置?是不是有缓存的配置?一般来讲可能包含这些配置,或者是其中的某些配置,没关系,我们要写的是一个通用的框架,那么我们先创建一些文件夹,分别是db、mq、redis对应数据库、队列、缓存。
第五步
读取完配置之后,我们的项目就开始检查连接数据库、队列、缓存是否正常。过后,我们就开始启动服务,监听端口了。这里我想实现一个通用的接口,抽象一个真正的数据处理层,再由其他层去对外实现转发。这里,我会创建一个名为process的文件夹,再在下面创建http、rpc目录,以及一个controller目录。
第六步
最后,我们再添加一下一些其他的杂项。创建utils目录,用来存放公用的工具库、添加.gitignore文件等。
来看下最后我们的目录结构长什么样子:
├─config # 配置目录
├─db # 数据库组件
├─logger # 日志组件
├─mq # 队列组件
├─process # 通用接口层
│ ├─controller # 数据处理层
│ ├─http # http接口服务
│ └─rpc # rpc接口服务
├─redis # 缓存组件
├─utils #公共库
├─.gitignore
└─main.go # 入口文件
小结
我们先将代码组织架构大概梳理出来,接着再往里面实际得填充代码,接下去的文章会按照从入口文件下手的思路,将代码一点点地填充上去。
欢迎关注我的公众号:onepunchgo,会整理相关的文档和资料。
有疑问加站长微信联系(非本文作者)