MVC

  • 一、MVC
  • 1.1、mvc介绍
  • 1.2、web开发中的架构
  • 1.2.1、耦合架构
  • 1.2.2、半分离架构
  • 1.2.3、分离架构
  • 二、restful规范
  • 2.1、概念
  • 2.2、优点
  • 2.3、规范


一、MVC

一种项目架构模式。项目分层,不同的层职责也不同。

其实,之前学习vue的时候也提到过,看过我的博客vue入门系列的应该知道!

1.1、mvc介绍

C:controller,控制器。(控制的就是某个功能的业务流程)
routers文件夹下的文件。
根据业务流程,调用不同的模块完成对应的功能。

V:view:视图(显示)
views文件夹下的文件。完成显示的格式。使用ejs模板,jade模板

M:model,模型(只是数据处理)
业务逻辑处理,更多体现的是数据库的增删改查

  • MVC在express项目里的体现

nodejs三层架构工作图 nodejs项目架构_HTML

1.2、web开发中的架构

1.2.1、耦合架构

nodejs三层架构工作图 nodejs项目架构_nodejs三层架构工作图_02

1.2.2、半分离架构

nodejs三层架构工作图 nodejs项目架构_服务器_03


web的工作流程:

1、打开web,加载静态资源,如HTML,CSS,JS等;

2、发起一个Ajax请求再到服务端请求数据,同时展示loading;

3、得到JSON格式的数据后再根据逻辑选择模板渲染出DOM字符串;

4、将DOM字符串插入HTML页面中渲染出DOM结构;

1.2.3、分离架构

前端渲染:vue脚手架的项目是前后端分离,但是用的是前端的渲染

后端渲染:如果要使用后端渲染,那么就需要使用ejs。

nodejs三层架构工作图 nodejs项目架构_服务器_04


web的工作流程:

1)浏览器请求服务器端的NodeJS;

2)NodeJS再发起HTTP去请求JSP;

3)JSP的API输出JSON给NodeJS;

4)NodeJS收到JSON后再渲染出HTML页面;

5)NodeJS直接将HTML页面发送给浏览器;

这样,浏览器得到的就是普通的HTML页面,而不用再发Ajax去请求服务器了。

  • 前后端分离架构的流程和职责

二、restful规范

2.1、概念

RESTful (资源数据接口规范) 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。

RESTful API是目前比较成熟的API设计理论。REST强调HTTP应当以资源为中心,并且规范了资源URI的风格;规范了HTTP请求动作(PUT,POST等)的使用,具有对应的语义。

2.2、优点

遵循REST规范的Web应用将会获得下面好处:

URL具有很强可读性的,
具有自描述性;
资源描述与视图的松耦合
可提供OpenAPI,
便于第三方系统集成,提高互操作性;
如果提供无状态的服务接口,可提高应用的水平扩展性;

2.3、规范

URI(Uniform Resource Identifiers) 统一资源标示符,能够统一标识一个资源的符号都是URI

URL(Uniform Resource Locator) 统一资源定位符,是URI的一种体现形式。

在restfulAPI的规范里,要让一个资源可以被识别,需要有个唯一标识,在Web中这个唯一标识就是 URI(Uniform Resource Identifier),

  • URI的格式定义如下:

URI = scheme “😕/” 域名:端口号 “/” path [ “?” query ] [ “#” fragment ]

  • 协议: API与用户的通信协议,总是使用HTTPs协议。
  • 域名: 应该尽量将API部署在专用域名之下
  • 版本号:/v1
  • HTTP动词:
    GET(SELECT):从服务器取出资源(一项或多项)。
    POST(CREATE):在服务器新建一个资源。
    PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
    PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
    DELETE(DELETE):从服务器删除资源。
  • 路径(Endpoint):
    路径又称"终点"(endpoint),表示API的具体网址

其实:

restful规范,最终核心规定的是由“动词”和“名词”构成的需求,这个需求就体现在URI上。

即:要求在URI上能够体现出需求

今天的博客有点拉胯哈哈…