JavaScript设计模式
Posted by Mars . Modified at
《JS设计模式》 —— 曾探
一、基本概念
1. 高阶函数
高阶函数满足以下条件:
- 函数可以作为参数被传递;
- 函数可以作为返回值被输出;
高阶函数的部分应用:
-
面向切面编程 AOP;
- 柯里化函数;
- 函数节流、防抖;
二、设计模式
单例模式
一个类只有一个实例,全局都可访问。
策略模式
定义
为了解决一个问题,定义多种不同的解决策略函数,它们可以用统一的执行方式执行。
// 策略对象
const strategies = {
A: function(){...},
B: function(){...},
C: function(){...},
};
// 执行策略
const cal(strategy, ...args) {
return strategy(...args);
}
应用场景
优缺点
优点:
- 策略方法与执行解耦,便于扩展、修改、理解;
- 避免了大量的
if...else
语句; - 策略可以复用;