我使用Memento模式来保存多实例表单的属性,其中n个表单是由用户在父窗体中创建的。备忘录的目的是在用户关闭并稍后重新打开父窗体时重新获得相同数量的窗体及其设置。表单纪念品的保存是通过父窗体上的“保存”按钮完成的。所以我有两个挑战。
当然,我可能可以通过某种方式来调整它,但是我想知道是否有一个通用的模式描述来解决这个问题,这样我就有了一个坚定的指导方针。
干杯!
发布于 2010-09-16 07:01:40
memento类的默认空构造函数应该是可以的,或者可以有一个CreateDefault()工厂方法,例如,如果您希望保留默认构造函数来初始化一个空白的memento,而不是预先设置的默认配置。
您可以使用许多不同的创造模式来指定自定义默认设置,包括http://en.wikipedia.org/wiki/Prototype_pattern和http://en.wikipedia.org/wiki/Abstract_factory_pattern。
发布于 2010-09-16 21:21:13
您的描述与Memento patttern并不完全匹配。memento的全部要点是,只有要恢复的类的实例才知道有关Memento表示的任何内容。也就是说,Memento是关于隐藏状态,而不是允许客户端设置任意状态。
正如上面Mark所建议的,对于您的问题,还有其他更合适的模式可以使用。
发布于 2011-05-03 18:11:37
从你的问题和在伯利贝尔斯登的回答,我有一种感觉,直截了当的实施是足够的,没有模式需要‘强迫’在这里。
https://stackoverflow.com/questions/3724304
复制相似问题