# 框架分层
Astroboy 框架分层是在 Koa 洋葱模型基础之上,并结合传统 MVC 分层架构,如下图所示:
# 1. 中间件层
在 Astroboy 框架内部,已经封装了几个最基础的中间件:
- astroboy-body 请求体解析中间件
- astroboy-router 路由解析中间件
- astroboy-security-xss XSS 过滤中间件
- ...
中间件一般在什么场景下使用?
- 登录态校验
- 请求日志埋点
# 2. Router 路由层
根据 HTTP 请求路径,转发请求到 Controller 某个具体的方法。
# 3. Controller 控制器层
接收 HTTP 请求参数,并对请求参数进行校验,然后调用一个或多个 Service 层提供的方法,最后把 Service 层返回的数据返回给前端,可以是 HTML 字符串或 JSON 格式的数据。
# 4. Service 服务层
该层主要承载业务逻辑,但凡是业务逻辑的,都应该写在这一层。
← Astroboy 和 Koa 插件化 →