首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

备忘录模式 Memento 快照模式 标记Token模式 行为型 设计模式(二十二)

备忘录角色Memento 负责记录Originator的部分或者全部状态,也就是拥有Originator的部分或者全部属性 备忘录角色的设计必然要参考Originator 备忘录角色应该仅仅允许Originator...originator = new Originator(); originator.setState(2); //快照 Memento memento = originator.createMemento...originator; CareTaker(Originator originator) { this.originator = originator; }...(); originator.recovery(originator.recovery(); } Originator与Memento合并 备忘录模式的根本在于状态的保存,模式的结构是一种通用的解决方案...Memento对象是对于Originator内部部分或者全部状态的一个封装 如果只是保存对象的状态,也可以借助于原型模式进行替代 也就是说使用另外一个新的Originator对象保存当前Originator

60620

Golang语言情怀-第29期 Go 语言设计模式 备忘录

备忘录模式包含三个角色: Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可以使用备忘录恢复内部状态。...Originator可根据需要决定Memento存储Originator的那些内部状态 Memento(备忘录):负责存储Originator对象的内部状态,并可防止Originator以外的其他对象访问备忘录...初始类 type Originator struct { state string } //NewOriginator 实例化初始类 func NewOriginator(st string...) *Originator { return &Originator{ state: st, } } //SetState 初始化类设置状态 func (o *Originator...{ return o.state } //SaveStateToMemento 将初始类状态保存到备忘录类 func (o *Originator) SaveStateToMemento()

30110
领券