node_egg项目大致运行流程

egg项目大致的运行流程

1.public静态资源托管,内置插件egg-static

2.Router 层

Router 主要用来描述请求url和具体承担执行动作的controller的关系
框架约定了app/router.js文件用于统一所有路由规则

3.Controller 层

通过Roter将用户的请求基于method和url分发到对应的Controller上
// Controller负责解析用户的输入,处理后返回相应的结果
  1. 在Restful接口中,Controller接收用户的参数,从数据库查找内容返回给用户或者更新数据库
  2. 在html页面中,Controller根据用户访问不同的URL,渲染不同的模板得到HTML返回给用户
  3. 在代理服务器中,Controller将用户的请求转发到其他服务器上,并将其他服务器处理结果返回给用户
// Controller主要对用户的请求参数进行处理(校验,转换),然后调用对应的service方法处理业务,得到业务结果后封装并返回
  1. 获取用户通过HTTP传递过来的参数
  2. 校验,组装参数
  3. 调用Service进行业务处理,必要时处理转换Service返回的结果,适应用户的需求
  4. 通过HTTP将结果响应给客户

4.Service层

// Service就是在复杂业务场景下用域做业务逻辑封装的一个抽象层,有如下好处
  1. 保持Controller中的逻辑更加简洁
  2. 保持业务逻辑的独立性,抽象出来的Service可以被多个Controller重复调用
  3. 将逻辑和展现分离,更容易编写测试用例
// 使用场景
  复杂的数据处理,比如要展现的信息需要从数据库获取,经过一定的规则计算,参能返回用户显示,或者更新到数据库
  第三方服务的调用

猜你喜欢

转载自www.cnblogs.com/JunLan/p/12580465.html
今日推荐