2-MVC设计思想分析

56 阅读1分钟

什么是MVC?

是一种设计方式、是一种设计方案、是一种设计思想

  • MVC不是设计模式,是跟架构相关的 -> 项目的如何设计分层
  • 我们想把逻辑抽离出来

从哪里抽离?

  • 从路由抽离出来,再把操作数据的再抽离出来
  • controller: 控制器层 (跟视图相关的逻辑部分还有跟数据不相关的一些逻辑)
    • 1.调用模型层对数据库的操作,并获取相应数据
    • 2.将数据传递给EJS引擎,并完整的返回HTML或者数据
    • 3.将HTML或者数据响应回客户端
  • model:模型层 ->处理数据相关的增删改查的逻辑
    • 数据模型的操作、数据模型的定义
    • 1.根据控制器层的要求,对数据库内的数据进行增删改查
    • 2.并返回控制器层需要的数据
  • views: 视图层(模板专门写在模板引擎里边去)
    • 封装HTML并且提供动态嵌入数据的功能

图示

localhost:8080  ---->  Router  -----> controllers ---> models   
(index.ejs)           /执行函数        indexView   对数据进行处理(返回要的数据)
                                      data进入ejs模板 <---data---|
                                           \|
                                      EJS引擎注入数据
                                           \|
得到html字符串  <---------------------------- 响应注入数据完整的HTML
      \|
浏览器解析并渲染DOM

复用性强,而且职责分工明确