我使用Memento Pattern来保存多实例表单的属性,其中n个表单由用户在父表单中创建。纪念品的目的是在用户关闭并稍后重新打开父表单时重新获得相同数量的表单及其设置。保存表单纪念品是通过父表单上的“保存”按钮完成的。所以我有两个挑战..
当然,我可能会以某种方式调整此工作,但我想知道是否有一般模式描述可以解决这个问题,因此我有一个坚定的指导方针可以遵循。
喝彩!
答案 0 :(得分:1)
memento类的默认空构造函数应该没问题,或者你可以使用CreateDefault()
工厂方法,例如,如果你想保留默认构造函数来初始化 blank 纪念品而不是预设的默认配置。
您可以使用许多不同的creational patterns来指定自定义默认设置,包括prototype和abstract factory。
答案 1 :(得分:1)
您的描述与Memento patttern并不完全匹配。 Memento的全部意义在于,只有要修复的类的实例才能了解有关纪念品的表现形式。也就是说,Memento是关于隐藏状态,而不是允许客户设置任意状态。
正如Mark Cidade上面所说,还有其他更合适的模式可用于您的问题。
答案 2 :(得分:0)
根据你的问题以及伯利熊答案中的评论,我觉得直接的实施已经足够,而且这里不需要“强迫”模式。