【金秋打卡】第9天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》
2022/11/4 3:25:03
本文主要是介绍【金秋打卡】第9天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
课程名称:Node.js+Koa2+MySQL打造前后端分离精品项目《旧岛》
课程章节:第2章 【深入理解KOA】Koa2的那点事儿与异步编程模型
视频:3-2 服务端编程必备思维:主体与模型划分
3-3 多Router拆分路由
课程讲师: 七月
课程内容:
3-2 服务端编程必备思维:主体与模型划分
把所有的路由按照一定的主题拆分,把路由分别写到不同的文件中。
可以根据数据的类型,划分主题(划分的依据之一)。
在旧岛中,主题与主题之间,不是绝对孤立的。
主题划分的过程,是渐进式的;
先找到核心主题,再找到附属在核心主题上的其他主题;
主题是抽象的概念,抽象的概念有助于我们思考;
在代码的层面, 主题 = Model
3-3 多Router拆分路由
业务变更时,要考虑到客户端兼容性,有些用户不升级客户端,要考虑到不能让老版本的客户端出现异常。
服务端支持的版本越多,成本就越高(只支持三个版本就可以了)。
客户端发送api请求时,要携带版本号,可以加在url路径中,或者加在查询参数中,或者加在http的header中。
开闭原则:在变成时,对代码的修改是关闭的,对代码的扩展是开放的。(简单说,就是尽量不要修改代码,而是去扩展代码)
编写javascript代码时主要要避免“循环引用”
//app.js const Koa = require('koa') //导入Koa const book = require('./api/v1/book') const classic = require('./api/v1/classic') const app = new Koa() app.use(book.routes()) app.use(classic.routes()) app.listen(3000)
//classic.js const Router = require('koa-router') const router = new Router() router.get('/v1/classic/latest', (ctx, next) => { ctx.body = { key : 'classic' } }) module.exports = router
//book.js const Router = require('koa-router') const router = new Router() router.get('/v1/book/latest', (ctx, next) => { ctx.body = { key : 'book' } }) module.exports = router
课程收获:
软件工程中,想实现一个功能其实是很简单的,尤其对于web开发来说。写代码的目的不止是为了完成功能,要写出优质的代码。优质代码的特点是别人阅读自己的代码时很省力;好的代码利于维护;好的代码可以提高编程效率。
如果只是堆叠很多router.get(),当业务复杂时,既不利于阅读,也不利于维护,同时编程效率非常低下
好的主题划分,可以让数据库设计变的非常简单。不合理的主题划分,会让数据库设计变得非常复杂。
七月老师非常注重在讲编程知识的同时,讲编程思维,讲知识和知识之间的关系。编程是实践性非常强的工作,学习知识最好的方法是放到项目中。做项目的目的不是做项目,最终要做出来自己的项目,业务承载的是编程知识。明天继续刷后边的课程。
这篇关于【金秋打卡】第9天 《Node.js+Koa2+MySQL 打造前后端分离精品项目》的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程