处理版本控制的设计模式

本文关键字:设计模式 版本控制 处理 | 更新日期: 2023-09-27 18:27:41

我正在构建一个引用DLL的软件,该DLL包含大约10个类,每个类代表一条消息。每条消息都包含特定于该消息类型的字段。每六个月左右就会对每种消息类型进行一次更新,我希望使软件足够灵活,能够顺利处理这些转换。我希望能够从GUI的下拉菜单中选择一个版本和消息类型,然后引用该消息类型的给定版本。我有一份"四人帮"的文本,正在努力为这项任务找到合适的解决方案。任何帮助都将不胜感激。

处理版本控制的设计模式

Yon可以查看Memento模式。它可以帮助您在UI客户端中设置下拉菜单。

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

最后一个选项可以是当前的.dll版本。当需要检查源对象的状态时,可以从源对象请求Memento。客户端是Memento的"看护人",但只有源对象才能存储和检索Memento中的信息(Memento对客户端和所有其他对象都是"不透明的")。如果客户端随后需要"回滚"源对象的状态,它会将Memento交回源对象进行恢复。这与Command很自然。

您可以对回滚部分使用命令模式,如上所述。然后您可以使用POJO来处理消息。由于POJO特性会发生变化,您可以使用Adapter或Decorator模式对POJO进行更改,也可以直接更改POJO类,或者将POJO扩展为新的POJO类别。其余的你可以按照@ekostadinov所说的去做。