beego框架学习之MVC

- 模型(Model): 通常来说,模型类将包含取出、插入、更新数据库资料等这些功能,主要用来与数据库交互,目前beego支持的数据库驱动:

  • MySQL:github.com/go-sql-driver/mysql
  • PostgreSQL:github.com/lib/pq
  • Sqlite3:github.com/mattn/go-sqlite3

- 视图 (View) : 是展示给用户的信息的结构及样式。一个视图通常是一个网页,但是在 Go 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或其它类型的 “ 页面 ” , Go 实现的 template 包已经很好的实现了 View 层中的部分功能。

控制器 (Controller): 是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

数据流程图如下:

图:beego框架的数据流

  1. main.go 作为应用入口,初始化一些运行博客所需要的基本资源,配置信息,监听端口。
  2. 路由功能检查 HTTP 请求,根据 URL 以及 method 来确定谁 ( 控制层 ) 来处理请求的转发资源。
  3. 如果缓存文件存在,它将绕过通常的流程执行,被直接发送给浏览器。
  4. 安全检测:应用程序控制器调用之前, HTTP 请求和任一用户提交的数据将被过滤。
  5. 控制器装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源,控制器主要负责处理业务逻辑。
  6. 输出视图层中渲染好的即将发送到 Web 浏览器中的内容。如果开启缓存,视图首先被缓存,将用于以后的常规请求。

你可能感兴趣的:(beego框架学习之MVC)