所谓工程能力,本质是“解决问题的能力”,无论是硬编码实力、还是架构思想,其本质都是为了解决问题这个终极目标而服务。
简单工厂模式:
1 | // 简单工厂模式: |
抽象工厂模式:
1 | // 抽象工厂 |
小结
工厂模式是将创建对象的过程进行封装,构造函数像工厂一样处理和赋值数据,创建新对象只需要传参即可
开放封闭原则:对拓展开放,对修改封闭。软件的实体(类,模块,函数)可以扩展。但是不可以修改
抽象工厂模式关键角色
概念案例
1 | // 挂载class上 |
生产案例
实现一个 Storage
ES6 版本
1 | class Storage { |
ES5 闭包版本
1 | function StorageMethod() { } |
实现一个单例模态框
ES6 版本
1 | #dialog{ |
1 | class Model { |
闭包版本
1 | function ModelMethod() {} |
小结
生产案例
对象的深拷贝
1 | function DeepClone(obj){ |
小结
概念案例
1 | // ES6中的修饰器 |
1 | // TS中的装饰器 |
生产案例
1 | // react高阶组件 |
小结
生产案例
1 | // axios 在node环境和http环境都可以使用,它们的适配方案 |
小结
概念案例 *
1 | // const porxy = new Proxy(); ES6 Proxy代理器 , 第一个参数为目标对象,handler是一个用来定义代理行为的对象,当通过proxy去访问对象时,handler会对我们的行为作一层中转,每次访问都会经过handler |
生产案例
1 | // 图片加载设置默认图占位预加载 |
小结
概念案例
1 | // 促销活动 |
小结
概念案例
1 | // 咖啡机状态案例 |
小结
概念案例
1 | // 通用发布者订阅者 |
生产案例
1 | class Dep{ |
1 | class EventEmitter { |
小结
概念案例
1 | // for of 遍历本质 |
小结