Tag: 纪念品

如何在Kotlin中实现纪念模式

我目前正在尝试在Kotlin中实现一些设计模式作为练习,而且我有点卡住了“纪念品”模式。 我的参考资源是SourceMaking:Memento 。 我想要实现这个结构: 当按照他们的“清单” 确定“看管人”和“鼻祖”的角色。 创建一个纪念品课,并宣布发起人的朋友。 看守人知道什么时候“检查点”的鼻祖。 发起人创建一个纪念品,并将其状态复制到该纪念品。 看守者坚持(但不能偷看)纪念品。 看守人知道什么时候“回滚”发起人。 发起人使用Memento中保存的状态恢复自己。 我无法步骤5工作。 如何制作一个Memento对象,其字段可以从Originator实例中读取,但对于Caretaker来说是完全不透明的? 我已经用Java成功实现了这个功能,如下所示: public class Originator { private final int id; private String title; private String description; public Originator(int id) { this.id = id; } /* skipping title and description getter & setter */ public Memento saveState() { return new Memento(new State(id, title, […]