欢迎关注我的公众号

设计模式-行为型-备忘录模式

2022-08-17 10:38
210
0
添加收藏

定义

备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态​。
 

 

UML

 

代码实现

发起人类Originator

备忘录类Memento

管理者类Caretaker

客户端类Main

 

总结

优点: 

1、给用户提供了一种可以恢复状态的机制,可以使用户能够比较方便地回到某个历史的状态。

2、实现了信息的封装,使得用户不需要关心状态的保存细节。

 

缺点:消耗资源。如果类的成员变量过多,势必会占用比较大的资源,而且每一次保存都会消耗一定的内存。

 

使用场景: 

1、需要保存/恢复数据的相关状态场景。

2、提供一个可回滚的操作。

 

注意事项:

 1、为了符合迪米特原则,还要增加一个管理备忘录的类。

 2、为了节约内存,可使用原型模式+备忘录模式。

 

全部评论