说明:(定义)在不破坏封装性的前提下,捕获一个对象内部状态,并在对象之外保存这个状态。这样以后就可以将该对象恢复到原来的模样。
需求:购买商品时,保存商品购买时的信息,以便用户可以通过快照功能查看商品以前的信息。
解决方式:
a. 定义一个备忘录类(商品信息);
b. 定义一个备忘录管理类,用于存储备忘录当前状态的信息(商品信息数据快照);
c. 定义一个发起类,用于创建备忘录类,存储备忘录到备忘录管理类,还原备忘录功能;
d. 客户端实例化发起类,通过发起类将初始化到备忘录数据,将备忘录存储到备忘录管理类,更改备忘录数据,通过备忘录管理还原备忘录数据。
需求变更:新增备忘录数据
解决方式:
修改备忘录类、发起者类
类图: