# 架构总览
* * * * *
![](https://box.kancloud.cn/3a078a1fca6e731d603895a0e9c5dd8e_1366x1334.png)
上图是OneBase总体架构图,最上方是 入口文件,每个入口文件对应一个模块,模块可支持分服务器独立部署,所以在编码过程中除了公共模块以外 其他模块之间不要互相依赖。
入口文件就是引导请求进入框架,下面就是执行系统行为。
行为执行完毕则进入控制器层,因为其他模块控制器都直接或间接的继承了通用控制器,所以会先执行公共模块通用控制器,再执行请求的模块控制器。
OneBase的思想是在控制器尽量只做两件事,1.调用业务逻辑层实现业务处理,2.将业务数据赋值并输出模板。
考虑到不同模块的业务逻辑层中可能会有部分逻辑复用,所以可在各模块的业务逻辑中引用公共模块的业务。
逻辑层中可调用数据验证层 进行数据验证,此处推荐尽量将验证封装在各模块的验证层中。
逻辑层可调用数据模型层处理数据库操作,也可以调用系统的扩展 如 表格导出,二维码生成 等。
逻辑层还可以调用服务层 进行 数据缓存,对象存储,支付,短信 等。
数据访问层实际上就是数据模型层的根源ModelBase,系统中99%的数据库操作皆由此处处理。
- 序言
- 基础
- 安装环境
- 安装演示
- 规范
- 目录
- 介绍
- 后台介绍
- 后台首页
- 会员管理
- 系统管理
- 系统设置与配置管理
- 菜单管理
- 系统回收站
- 服务管理
- 插件管理
- 文章管理
- 接口管理
- 优化维护
- SEO管理
- 数据库
- 文件清理
- 行为日志
- 执行记录
- 统计分析
- 接口介绍
- 接口文档
- 错误码设计
- Token介绍
- 前台介绍
- 架构
- 架构总览
- 生命周期
- 入口文件
- 模块设计
- 依赖注入
- 控制器架构
- 逻辑架构
- 验证架构
- 服务架构
- 模型架构
- 行为架构
- 插件架构
- 配置
- 配置介绍
- 配置加载
- 配置扩展
- 请求
- 请求信息
- 日志
- 后台行为日志
- 系统执行日志
- 框架日志
- 数据
- 数据库设计
- 数据字典
- 数据库操作
- 事务控制
- 混合操作
- 实战
- 控制器
- 逻辑与验证
- 视图与模型
- 插件研发
- 服务研发
- 接口研发
- 杂项
- 数据导入导出
- 二维码条形码
- 邮件发送
- 云存储服务
- 支付服务
- 短信服务
- 微信分享
- 生成海报
- 聊天室
- PJAX
- Demo
- Widget
- 附录
- 常量参考
- 配置参考
- 函数参考
- 进阶
- Redis
- 自动缓存
- 全自动缓存
- 索引
- 数据签名
- 全自动事务
- 队列