nodeJS入门(三)之MVC项目架构

一、MVC

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

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

1.1、mvc介绍

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

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

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

  • MVC在express项目里的体现

在这里插入图片描述

1.2、web开发中的架构

1.2.1、耦合架构

在这里插入图片描述

1.2.2、半分离架构

在这里插入图片描述
web的工作流程:

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

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

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

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

1.2.3、分离架构

前端渲染:vue脚手架的项目是前后端分离,但是用的是前端的渲染
后端渲染:如果要使用后端渲染,那么就需要使用ejs。
在这里插入图片描述
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上能够体现出需求

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

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值