在使用node的时候有很多的书写习惯与方法,今天就结合mvc来写一个因数查询案例,在讲之前先来了解以下mvc模式。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC 编程模式:MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:Model(模型)表示应用程序核心(比如数据库记录列表)。View(视图)显示数据(数据库记录)。Controller(控制器)处理输入(写入数据库记录)。MVC 模式同时提供了对 HTML、CSS和 JavaScript 的完全控制。Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
接下来就用实际案例来所以说如何使用。第一步:创建一个app.js文件。引入express框架和views。设置view的app.set('view engine','ejs');使用const controller = require('./controller/controller.js');引入我们创建好的controller文件。
第二步:创建public文件是我只好相应的index.html文件。默认情况下public的index文件是一个文件的首页。在index中创建2个<input type="text" id="number"><input type="submit" id="btn" value="点我查询">。在script中我们使用window.location.pathname = '/'+number.value;这一句来实现跳转。
第三步:在controller.js中使用模块化的暴露exports.showResult来暴露出一个函数,在app.js中引入。在函数中使用letnumber = req.params.number;let start = new Date();来对我么能获取到的数据进行处理。我们要注意不牵扯计算 ,只负责接受app.js文件的数据和传递数据。所有我们还需要model来计算。
第四步:在model中进行计算。也是通过暴露将计算函数发送给controller文件。在controll中会将计算好的值存储在一个我事先创建好文件夹中,如过再计算就会先遍历文件夹,如果以前算过,直接将以前的值返回给前台就是了,不需要2次计算,加快反应时间。
第五步:点击点我查询按钮。就会去到相应的路由(app.get('/:number',controller.showResult)),在函数中设置res.render('showResult',{result,t
: new Date - start,});这样点击去到对应的视图,传过去的值也能渲染出来。
网友评论