第二章
第一节、了解现阶段前端技术开发模式及思想
(全文大白话,能不能看懂看你们的理解能力了)
1、命令式编程和声明式编程
- 什么是命令式编程?
- 早期的原生开发、jquery开发,想要完成一个功能:
- 修改页面上的一段文本,js 怎么操作?
const div = document.getElementById("app")
div.innerHtml = "你来打我呀"
// 如果再修改样式呢?
div.style.color = "red"
div.style.fontSize = "50px"
-
感受到了吗?
- 命令式编程就是需要从头到尾,每一行代码就是完成这个功能的步骤,而且逻辑紧密相连
- 反正我觉得,这样写会有一些繁琐,所以可以将它封装个方法(自己想想该怎么封装吧)
- 所以说当初的 jquery 就是神一般的框架
-
再来说一说声明式编程
- 以vue3 举例,我们会在 createApp 传入的对象中 声明需要的内容,模板 template、数据data、方法methods
- 这样的编码过程,就是声明式编程
- 目前 vue、react、angular 的编程模式,可以称之为声明式编程
- 个人观点
(勿喷,可评论区讨论):我觉得react 没有遵循声明式编程的开发模式,因为react 每次dom 更新都需要调用 setState
-
来个小结吧:
- 命令式编程关注的是 “how to do”,声明式编程关注的是“what to do”,有框架完成 “how” 的过程
2、MVVM
- MVC和 MVVM 都是一种软件体系结构:
- MVC 是 Model - View - Controller 的简称,在前期被使用非常多框架的架构模式,比如 IOS、前端,可以将MVC 比作命令式编程
- MVVM 是Model-View-ViewModel 的简称,是目前非常流行的架构模式,我通常将 MVVM 比作声明式编程
鸣谢:
致谢:
感谢coderwhy 大神带我走上前端道路