前端设计模式应用:
1.设计模式的三个类型:
创建型:如何创建一个对象
结构型:如何灵活的将对象组装成较大的结构
行为型:负责对象间的高效通信和职责划分。
2.浏览器中的运用广泛的两种设计模式:
单例模式:全局唯一访问对象
发布订阅模式(观察者模式):一种订阅机制,可在被订阅对象发生变化时,通知订阅者
3.JS中的几种模式:
原型模式:复制已有对象来创建新对象
代理模式:可自定义控制对原对象的访问方式,并且允许在更新前后做一些额外处理
迭代器模式:在不暴露数据类型的情况下,访问集合中的数据
4.前端框架中的设计模式:
代理模式:
组合模式:可多个对象组合使用
响应式系统与REACT:
1.用原生JS写UI的痛点及期望:
状态更新,UI不会自动更新,需要手动调用DOM进行更新——(状态更新,UI自动更新)
欠缺基本的代码层面的封装和隔离,代码层面没有组件化。——(前端代码组件化,可复用,可封装)
UI之间的数据依赖关系,需要手动维护,如果以来链路长,则会遇到“Callback Hell”——(状态之间的互相依赖关系,只需声明即可)
2.组件化
组件是组件的组合/原子组件
组件内拥有状态,外部不可见
父组件可将状态传入组件内部
组件声明了状态和UI映射
组件有 props/State两种状态
“组件”可由其他组件拼装而成
3.React状态管理库的核心思想:将状态抽离到UI外部进行统一管理
4.Virtual DOM(虚拟dom)
Virtual DOM 是一种用于和真实的DOM同步,而在JS内存中维护的一个对象,它具有和DOM类似的树状结构,并和DOM可以建立一一对应的关系。
它赋予了React声明式的API:您告诉React希望让UI是什么状态,React就确保DOM匹配该状态。这使您可以从属性操作、事件处理和手动DOM更新这些在构建应用程序时的而必要的操作中解放出来
5.应用级框架科普:
NEXT.js:支持Unbundled Dev,SWC等
MODERN.js:字节跳动web Infra团队研发的全栈开发框架,内置很多开箱即用的能力与最佳实践。
Blitz:无API思想的全栈开发框架,开发过程中无需写API调用与CRUD逻辑,适合前后端紧密结合的小团队项目