框架的数据流
- main.go作为应用入口,初始化所需要的基本资源,配置信息,监听端口。
- 路由功能检查HTTP请求,根据URL以及method来确定谁(控制层)来处理请求的转发资源。
- 如果缓存文件存在,它将绕过通常的流程执行,被直接发送给浏览器。
- 安全检测:应用程序控制器调用之前,HTTP请求和任一用户提交的数据将被过滤。
- 控制器装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源,控制器主要负责处理业务逻辑。
根据上面的应用程序流程设计,博客的目录结构设计如下:
|——main.go 入口文件
|——conf 配置文件和处理模块
|——controllers 控制器入口
|——models 数据库处理模块
|——utils 辅助函数库
|——static 静态文件目录(生成文件输出目录)
|——src 资源文件目录
|——data 数据文件夹
|——template 模版文件夹
|——log 日志文件夹
为了实现快速搭建,打算基于上面的流程设计开发一个最小化的框架,框架包括路由功能、支持REST的控制器、自动化的模板渲染,日志系统、配置管理等。