beego介绍
2024-08-25 22:40:05
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
是入口文件。
最新文章
- ajax跨域解决方案2
- [C#][.net 4]Task 代码示例
- 京东B2B的4种供销模式
- dhcp原理、安装、相关命令、疑惑
- Eclipse+Maven创建webapp项目<;一>;<;二>;<;三>;
- Could not find file &#39;..\bin\hibernate.cfg.xml&#39;解决方法:
- WinDriver&;amp;PCIE
- chrome vim插件vimnum快捷键与使用
- HTML5简单入门系列(一)
- 关于OOCSS的一点思考
- Jdk1.6 JUC源码解析(6)-locks-AbstractQueuedSynchronizer
- (转) Unicode(UTF-8, UTF-16)令人混淆的概念
- java知识点整理
- R12 - Error &#39;Unable to process your transaction. The operating unit is either invalid or it cannot b
- 高可用性的负载均衡方案之lvs+keepalived和haproxy+heartbeat区别
- windows openssl-1.1.1 编译静态库和动态库
- PHP chdir函数:改变当前的目录
- 【做题】zoj3649 Social Net——倍增
- python list的一个面试题
- 三篇文章了解 TiDB 技术内幕 - 说存储(转)
热门文章
- 5种你未必知道的JS和CSS交互的方法
- [LeetCode] Remove Duplicates from Sorted List 链表
- poj 2411 Mondriaan&#39;s Dream 骨牌铺放 状压dp
- 计蒜客 ACM竞赛高校联盟训练赛 第8场 煎牛排
- Python包管理工具pip的基本使用
- 分享Kali Linux 2017年第17周镜像文件
- mfoc安装编译
- ios界面笔记(一)
- mybatis配置mapperLocations多个路径
- MySQL主从同步异常问题解决Client requested master to start replication from position >; file size