当前位置: 首页 > news >正文

硅塑胶 东莞网站建设互联网+创业大赛

硅塑胶 东莞网站建设,互联网+创业大赛,seo是什么服务,wordpress考试主题Node.js后端架构#xff1a;MVC模式 什么是MVC MVC (Model-View-Controller) 是一种软件设计模式#xff0c;用于将应用程序的逻辑分离成三个不同的组件#xff1a;模型、视图和控制器。 模型#xff08;Model#xff09;负责处理应用程序的数据逻辑。它负责从数据库或其…Node.js后端架构MVC模式 什么是MVC MVC (Model-View-Controller) 是一种软件设计模式用于将应用程序的逻辑分离成三个不同的组件模型、视图和控制器。 模型Model负责处理应用程序的数据逻辑。它负责从数据库或其他数据源中获取数据并对数据进行处理和操作。 视图View负责展示数据给用户。它负责将模型中的数据以用户友好的方式呈现出来通常是通过HTML模板或其他前端技术来实现。 控制器Controller负责处理用户的请求和操作。它接收用户的输入并根据输入调用适当的模型和视图来完成相应的操作。 MVC的优点在于它能够将应用程序的不同部分分离开来使得代码更易于维护和扩展。通过将数据逻辑、展示逻辑和用户交互逻辑分离开来开发人员可以更好地组织和管理代码。 Node.js中的MVC 在Node.js的后端开发中使用MVC模式可以帮助我们更好地组织和管理代码。我们可以将数据逻辑放在模型中将展示逻辑放在视图中将用户交互逻辑放在控制器中。这样我们可以更好地分离关注点使得代码更易于理解和维护。 1Client 端发送请求到 Server 端。2server 端的Controller接收请求并进行解析。3Controller找到与请求对应的Model并将请求交给该 Model 处理。4Model 处理完后将数据返回给Controller并由Controller交给 View处理。5View生成可供客户端查看的HTML文件并将结果返回给服务器端。6Server 端发送响应到 Client 端。 注意如果只是开发API第5步骤将会变成将数据返回给控制器并由控制器将数据转换为API响应格式然后将响应发送回客户端。视图的生成步骤可以省略因为API不需要生成HTML文件。 快速创建Express中的 MVC 在Express中使用快速建立开发环境的方式生成Express项目时MVC的工作方式如下 1,Client端发送请求至 Server端。2,Server端将收到的请求由特定的Router相当于 Controller 来做处理。3,若收到的请求需要DB来交互数据则从DB中交互数据并回传至Router中。若不需要数据库则直接返回。4,待Router处理完业务的逻辑后将其结果传给View并由View来产生html文件。5,通过Router来将View所产生的html文件送至Server端中。6,Server端回复响应至Client端。 注意如果只是开发API第5步骤将会变成 数据通过 Router直接给 Server端视图的生成步骤可以省略因为API不需要生成HTML文件。 读者可以发现借由Express的快速建置开发环境的项目中Router本身就会涵盖了controller及model的部分。 快速建立开发环境的方式的目录结构是 . ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views├── error.ejs└── index.ejs也就是说我们将controller及model的部分都集中写在 routes 文件夹下。假设以 routes 文件夹中的index.js来说其代码会是 var express require(express); var router express.Router();/* GET home page. */ router.get(/, function(req, res, next) {// do something// 連接資料庫// 從資料庫將資料撈完後進行res.render的動作。 });module.exports router;注释res.render 指Express中让处理完的数据传送到view的指令。 自定义 Express 中的MVC 若使用Express的快速建置开发环境的项目是还没有做到职责分离的动作我们可以试着将controller及model加入其中其运作会是 1Client端 发送request至 Server端。2Server端接收到request后交由特定的 Router 的function所接收并调用相对应的 Controller。3通过相对应的 Controller 的 function 来调用特定的model进行处理。4若该request需要与DB来进行数据交互则从DB中数据交互并将数据回传至Model中。若无则直接在Controller处理业务逻辑。5待Model处理完数据的逻辑后将其结果回传至 Controller 中进行业务逻辑的处理 。6Controller将 Model的数据传给View并由View来生成html文件。7通过 Controller 来将view所生成的html文件送至server端中。8Server端回复response至 Client端。 注意 如果只需要开发API可以跳过第6步骤并且第7步骤会变成 通过Controller将 Model处理完的结果交由server端。 那现在的目录结构如下 . ├── app.js ├── bin │ └── www ├── controllers │ ├── index_controller.js ├── models │ ├── index_model.js ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views├── error.ejs└── index.ejs通过添加controllers和models文件夹并让其中的JavaScript文件分别负责处理controller和model的部分实现了职责分离。在controllers文件夹中的文件负责处理请求的业务逻辑而在models文件夹中的文件负责与数据库进行交互和处理数据。这样可以使代码更加模块化和可维护提高开发效率和代码的可读性。 可以编写以下代码来处理请求的路由逻辑 在routers文件夹中的index.js文件中 const IndexController require(../controllers/index_controller);indexController new IndexController();router.get(/, indexController.sayHiController);controllers文件夹的 index_controller.js const IndexModel require(../models/index_model);indexModel new IndexModel();module.exports class IndexController {sayHiController(req, res ,next) {// do something// 调用model中的函数从数据库中获取数据// 使用res.json将数据作为响应发送给客户端 。} }models 文件夹的 index_model.js module.exports class IndexModel {sayHiModel(req, res ,next) {// 从数据库中查询数据//插入新的数据到数据库//更新数据库中的数据//删除数据库中的数据//对数据进行验证和格式化//执行复杂的数据操作如聚合、联表查询等//处理与数据相关的业务逻辑} }小结 MVC确实是一种理念和设计模式而不是一种具体的技术。它的目的是将应用程序的不同部分分离开来使代码更加模块化、可维护和可扩展。 在实际开发中如何分离整个程序的职责是根据具体情况而定的。每个项目都有不同的需求和约束因此选择适合项目的架构和设计模式非常重要。与后端开发团队进行沟通和协商共同决定如何进行开发是至关重要的。 除了MVC还有其他的架构和设计模式可以用于开发如MVVM、MVP、Clean Architecture等。选择合适的架构和设计模式取决于项目的规模、复杂性和团队的技术栈和经验。 总之开发团队应该根据项目需求和团队的实际情况选择适合的架构和设计模式并进行良好的沟通和协作以确保项目的成功和代码的质量。
http://www.huolong8.cn/news/218107/

相关文章:

  • 龙岗网站优化培训网络营销推广公司有哪些
  • wordpress搭建的网站能干什么网站网页设计怎么收费
  • 做网站广州80s无水印视频素材网站下载
  • win7怎么做网站域名绑定网站的搜索功能
  • 宜兴网站策划一个网站做几个关键词
  • 国内品牌备案建站网站反连接
  • 什么程序做网站收录好Wordpress 搜索热词
  • 马尾网站建设个人主页是指什么
  • ui网站界面设计宠物网站设计与制作
  • 网站建设框架文案网站建设vps
  • 营销型网站有哪些类用phpnow搭建网站的整个流程
  • 一站式 wordpress做网站 360
  • 盐城做网站多少钱专业的网站建设网络
  • 北京市地铁建设公司网站北京展示型网站
  • wordpress 多站点共享选择好的佛山网站建设
  • 企业门户网站制作周期百度竞价推广收费标准
  • 医疗类网站前置审批网站作业二级网页
  • 网站建设合同 域名续期营销型网站建设区别
  • 几十元做网站创建网页模板的作用
  • 网站进度条代码企业网页设计方案
  • seo站长教程常见的网址有哪些
  • wordpress 图片站模板wordpress 插件 Excel
  • 网站推广方法为什么很少用python做网站
  • 手机商城网站设计网站建设企业网站价格
  • 上国外网站速度慢制作微信的网站有哪些
  • 品牌网是什么网站网站建设滕州信息港
  • 网站销售策划河北省住房和城乡建设厅网站查询
  • 关于网站建设管理的规定东莞高端网站建设费
  • 网站设计构想flash网站源码带后台
  • php网站功能WordPress适合做多大级别的网站