推荐
关注
TOP
Message

beego(1)简介

beego 官网:http://beego.gocn.vip/beego/zh/
github:https://github.com/beego/bee
多课网:https://duoke360.com/docs/golang/beego/intro/Introduction/index.html

beego 的架构

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

beego 的执行逻辑

既然 beego 是基于这些模块构建的,那么它的执行逻辑是怎么样的呢?beego 是一个典型的 MVC 架构,它的执行逻辑如下图所示:
image.png
V:view首字母,指用户看到并与其交互的界面,比如由html元素组成的网页界面,或者软件客户端界面。
M:mode首字母,是应用程序和数据库交互的载体,这样一个能够为多个视图提供数据,由于模型中的代码只需写一次就可以被多个视图重用,提高代码的复用性。
C:controller首字母,控制器的意思,控制器本身不输出任何东西,只是接收请求并决定调用那个模型和视图去完成用户的需求。

beego 项目结构

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


├── conf           //配置文件
│   └── app.conf
├── controllers    //控制器
│   ├── admin
│   └── default.go
├── main.go   
├── models         //模型   
│   └── models.go
├── routers       //路由
│   └──router.go
├── static         //静态文件
│   ├── css
│   ├── ico
│   ├── img
│   └── js
└── views          //界面
    ├── admin
    └── index.tpl

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

posted @ 2022-11-03 10:50  始識  阅读(185)  评论(0)    收藏  举报