JavaScript设计模式样例十六 —— 备忘录模式
备忘录模式(Memento Pattern)
定义:保存一个对象的某个状态,以便在适当的时候恢复对象。
目的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。
场景:数据缓存。
let getPageData = (() => { let cache = {} return (page, fn) => { if (cache[page]) { // 已有指定缓存数据 fun && fn() } else { // 当前没有指定缓存数据 // 获取指定数据data cache[page] = data fn && fn() } } } )() getPageData(1, () => { // do somthing })
Git地址:https://github.com/skillnull/Design-Mode-Example