备忘录模式(Memento Pattern)
1 2 3 |
定义:保存一个对象的某个状态,以便在适当的时候恢复对象。 目的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 场景:数据缓存。 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
let getPageData = (() => { let cache = {} return (page, fn) => { if (cache[page]) { // 已有指定缓存数据 fun && fn() } else { // 当前没有指定缓存数据 // 获取指定数据data cache[page] = data fn && fn() } } } )() getPageData(1, () => { // do somthing }) |