美文网首页
基于NodeJS的服务端架构笔记

基于NodeJS的服务端架构笔记

作者: 书生儿 | 来源:发表于2021-12-13 14:51 被阅读0次

    一、MVC控制结构

    1、什么是MVC结构

    MVC设计模式认为有三种不同的对象种类:模型(Model),视图(View),控制器(Controller)。

    Model层:它们保存应用程序的数据,并定义处理该数据的逻辑。

    View层:视图对象的显示以及允许用户对model层的数据进行编辑。

    Controller层:控制器对象充当应用程序的视图对象和它的模型对象之间的中介。处理用户输入的信息。负责从视图读取数据,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分。负责管理与用户交互交互控制。

    2、MVC结构的基本结构视图

    (1)MVC基本结构

    MVC基本结构图.png

    (2)服务端MVC结构样式图

    服务端网络架构模型图

    二、nodeJS中常用的网络框架

    1、针对前端网络请求

    Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

    (1)安装

    使用npm安装

    npm install axios
    

    (2)配置与使用

    2、针对服务端请求

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
    使用 Express 可以快速地搭建一个完整功能的网站。

    Express 框架核心特性:

    • 可以设置中间件来响应 HTTP 请求。

    • 定义了路由表用于执行不同的 HTTP 请求动作。

    • 可以通过向模板传递参数来动态渲染 HTML 页面。

    (1)安装

    • npm安装
    npm install express --save
    
    • cnpm安装
    cnpm install express --save
    

    以上命令会将 Express 框架安装在当前目录的 node_modules 目录中, node_modules 目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:

    • body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
    cnpm install body-parser --save
    
    • cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
    cnpm install cookie-parser --save
    
    • multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。
    cnpm install multer --save
    

    (2)安装与配置

    三、网络请求包及类的设计及分组

    根据MVC模式,在项目构建中,需要将项目文件划分为如下几个包层:

    • 程序入口:app.js
      注:这是程序的入口,是程序启动的地方。
    • 配置文件:config文件夹
      注:一、配置数据库的有关内容(数据库地址、用户名称、连接池、连接方式等);二、其他的需要配置的地方
    • 控制器文件:controller文件夹
      控制器的核心,多个控制器文件,根据dao文件的分发任务,将对数据的实际控制分配到具体的控制器,实现数据的交换和控制。

    理解:
    控制器主要是实现数据的控制,实现数据的具体交换和更新。对于控制器的理解,不能从字面的意思进入。所谓的控制器,针对的就是数据的控制。基于这一点,我们可以作扩展性的思考,在程序开发的过程中,所有算法的核心就是对“数据”的控制。数据是程序的核心,不管是面向对象开发模式还是面向过程的开发过程,最终关注的核心就是“数据”。数据的交换与传输是程序开发的实质问题。不管是数据库的程序内容还是其他的程序内容都是表面的东西,其功能的实现都是在控制数据而已。所以,关注程序开发的关键是关注数据的传输与控制。要关注数据流的方向。在图示方面有:系统流程图、程序流程图、数据流程图。

    • 数据持久化文件:dao文件夹
      DAO(Data Access Object)数据访问对象。主要功能就是操控数据访问,夹在业务逻辑与数据库资源中间。在实际内容上,主要是操作数据库。

    • 路由文件夹:routers文件夹
      网络入口,根据设定好的请求地址接收前端数据请求,然后根据不同的地址将数据的控制权分发到对应的控制器上,再由控制器对数据进行实际的处理。

    • src文件

    四、重要的网络请求算法程序

    相关文章

      网友评论

          本文标题:基于NodeJS的服务端架构笔记

          本文链接:https://www.haomeiwen.com/subject/eyijfrtx.html