MVC架构

Rails是一个MVC框架。

MVC全名是Model View Controller

是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

  • Model(模型)表示应用程序核心(比如数据库记录列表)
  • View(视图)显示数据
  • Controller(控制器)输入和输出的路由,从页面取数据插入到相关的model,以及从model拿数据渲染相关的view

Rails中的MVC实现

mvc

看图,Rails的MVC是这样处理一个请求的:

  1. 浏览器发出 Web 请求
  2. 路由模块将请求信息发送给相应的控制器,由控制器决定如何处理请求;
  3. 控制器根据请求处理逻辑,调用相应的模型来完成业务逻辑;
  4. 根据实际需求,完成数据的检索或存储;
  5. 控制器组织处理信息,调用视图解析从模型返回的数据; 完成页面渲染,返还数据给浏览器。

对于这个过程,暂时大脑里有个概念就可以了。后面我们会继续深入此概念。