备忘录模式

基础概念

备忘录模式结构

备忘录模式交互

  1. 备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
  2. 参与者: - Memento(备忘录) - 备忘录存储原发器对象在某一时刻的内部状态。原发器根据需要决定备忘录存储原发器的哪些内部状态。 - 防止原发器以外的其它对象访问备忘录内部存储的状态。理想的情况是只允许生成本备忘录的那个原发器访问本备忘录的内部状态。 - Originator(原发器) - 原发器创建一个备忘录,用以记录当前时刻它的内部状态。 - 使用备忘录恢复内部状态到某一时刻。 - Caretaker(管理者) - 负责保存备忘录。 - 不能对备忘录的内容进行操作或检查。

demo

等我遇到实际需求,我再更新 demo 吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Originator {
constructor() {
this.state = 0;
}

setMemento(memento) {
this.state = memento.state;
}

createMemento() {
return new Memento(this.state);
}
}

class Memento {
constructor(state) {
this.state = state;
}
}

class Caretaker {
constructor(originator) {
this.mementoList = [];
this.originator = originator;
}

addMemento() {
this.mementoList.push(this.originator.createMemento());
}
}


感谢您的阅读,如果发现文章中有错误或漏洞,请批评指正。
邮箱:aadonkeyz@gmail.com

0%