设计模式处理版本控制

4

我正在构建一个软件,其中引用了一个包含大约10个类的DLL,每个类都代表一条消息。每个消息都包含特定于该消息类型的字段。每隔六个月左右,每种消息类型都会进行更新,我希望能够使软件足够灵活,以便顺利处理这些转换。我想在GUI中通过下拉菜单选择版本和消息类型,然后引用该消息类型的给定版本。我有一份《设计模式》的副本,并正在试图找到一个适合此任务的解决方案。非常感谢任何帮助。

2个回答

4

您可以查看备忘录模式,它可以帮助您在GUI客户端中的下拉菜单中选择版本和消息类型。

能够从下拉菜单中选择版本和消息类型,然后引用该消息类型的给定版本。

最后一个选项可以是当前的.dll版本。当需要检查点源对象的状态时,从源对象请求备忘录。客户端是备忘录的“看守者”,但只有源对象才能存储和检索备忘录中的信息(备忘录对客户端和所有其他对象都是“不透明”的)。如果客户端随后需要“回滚”源对象的状态,则将备忘录交还给源对象以进行恢复。这与命令模式自然搭配使用。


2

如上所述,您可以使用命令模式来处理回滚部分。然后,您可以使用POJO(普通旧Java对象)来处理消息。由于POJO的特性会发生变化,因此您可以使用适配器或装饰器模式来更改POJO中的内容,或者直接更改POJO类,或者将POJO类扩展为新的POJO类。其余部分可以按照@ekostadinov的建议进行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接