beego 简介

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

beego 的架构

beego 的整体设计架构如下所示:

beego 是基于八大独立的模块构建的,是一个高度解耦的框架。当初设计 beego 的时候就是考虑功能模块化,用户即使不使用 beego 的 HTTP 逻辑,也依旧可以使用这些独立模块,例如:你可以使用 cache 模块来做你的缓存逻辑;使用日志模块来记录你的操作信息;使用 config 模块来解析你各种格式的文件。所以 beego 不仅可以用于 HTTP 类的应用开发,在你的 socket 游戏开发中也是很有用的模块,这也是 beego 为什么受欢迎的一个原因。大家如果玩过乐高的话,应该知道很多高级的东西都是一块一块的积木搭建出来的,而设计 beego 的时候,这些模块就是积木,高级机器人就是 beego。至于这些模块的功能以及如何使用会在后面的文档会逐一介绍。

beego 的执行逻辑

既然 beego 是基于这些模块构建的,那么他的执行逻辑是怎么样的呢?beego 是一个典型的 MVC 架构,他的执行逻辑如下图所示:

beego 项目结构

一般的 beego 项目的目录如下所示:

├── conf
│ └── app.conf
├── controllers
│ ├── admin
│ └── default.go
├── main.go
├── models
│ └── models.go
├── static
│ ├── css
│ ├── ico
│ ├── img
│ └── js
└── views
├── admin
└── index.tpl

从上面的目录结构我们可以看出来 M(models 目录)、V(views 目录)和 C(controllers 目录)的结构, main.go 是入口文件。

最新文章

  1. ajax跨域解决方案2
  2. [C#][.net 4]Task 代码示例
  3. 京东B2B的4种供销模式
  4. dhcp原理、安装、相关命令、疑惑
  5. Eclipse+Maven创建webapp项目<一><二><三>
  6. Could not find file '..\bin\hibernate.cfg.xml'解决方法:
  7. WinDriver&PCIE
  8. chrome vim插件vimnum快捷键与使用
  9. HTML5简单入门系列(一)
  10. 关于OOCSS的一点思考
  11. Jdk1.6 JUC源码解析(6)-locks-AbstractQueuedSynchronizer
  12. (转) Unicode(UTF-8, UTF-16)令人混淆的概念
  13. java知识点整理
  14. R12 - Error 'Unable to process your transaction. The operating unit is either invalid or it cannot b
  15. 高可用性的负载均衡方案之lvs+keepalived和haproxy+heartbeat区别
  16. windows openssl-1.1.1 编译静态库和动态库
  17. PHP chdir函数:改变当前的目录
  18. 【做题】zoj3649 Social Net——倍增
  19. python list的一个面试题
  20. 三篇文章了解 TiDB 技术内幕 - 说存储(转)

热门文章

  1. 5种你未必知道的JS和CSS交互的方法
  2. [LeetCode] Remove Duplicates from Sorted List 链表
  3. poj 2411 Mondriaan's Dream 骨牌铺放 状压dp
  4. 计蒜客 ACM竞赛高校联盟训练赛 第8场 煎牛排
  5. Python包管理工具pip的基本使用
  6. 分享Kali Linux 2017年第17周镜像文件
  7. mfoc安装编译
  8. ios界面笔记(一)
  9. mybatis配置mapperLocations多个路径
  10. MySQL主从同步异常问题解决Client requested master to start replication from position > file size