Я создаю программное обеспечение, которое ссылается на DLL, содержащую ~ 10 классов, каждый из которых представляет сообщение. Каждое сообщение содержит поля, специфичные для этого типа сообщения. Каждые шесть месяцев обновляются каждый тип сообщения, и я ищу, чтобы сделать программное обеспечение достаточно гибким, чтобы плавно обрабатывать эти переходы. Я хотел бы иметь возможность выбирать версию и тип сообщения из выпадающего меню в графическом интерфейсе, который затем ссылался бы на данную версию этого типа сообщения. У меня есть копия текста Gang of Four, и я пытаюсь найти подходящее решение этой задачи. Любая помощь приветствуется.Дизайн шаблонов для управления версиями
ответ
Йон может посмотреть на Memento pattern. Это может помочь вам выложить из вашего клиента пользовательского интерфейса.
, чтобы иметь возможность выбирать версию и тип сообщения из выпадающего меню в графическом интерфейсе, который затем ссылался бы на данную версию этого типа сообщения.
Последний вариант может быть текущей версией .dll. Memento может запрашиваться у исходного объекта, когда ему нужно проверить состояние исходного объекта. Клиент является «опекуном» Memento, но только исходный объект может хранить и извлекать информацию из Memento (Memento «непрозрачен» для клиента и всех других объектов). Если клиенту впоследствии необходимо «откат» состояния исходного объекта, он передает Memento обратно исходному объекту для восстановления. Это естественно с Command.
Вы можете использовать шаблон команды для части отката, как указано выше. Затем вы можете использовать POJO для сообщений. Так как функции POJO будут изменены, вы можете использовать шаблон Adapter или Decorator, чтобы внести изменения в POJO, или вы можете напрямую изменить класс POJO, или вы можете расширить классы POJO в новые классы POJO. И отдых вы можете следовать, как упоминалось @ekostadinov.
- 1. Дизайн шаблонов управления ресурсами JavaScript
- 2. Дизайн шаблонов для взаимозависимых шаблонов?
- 3. Дизайн шаблонов для игр
- 4. C# Дизайн шаблонов контейнеров?
- 5. Модели управления версиями объектов
- 6. Дизайн шаблонов для канала карты?
- 7. Дизайн шаблонов для изменения перечисления?
- 8. Дизайн шаблонов для сетевых протоколов?
- 9. Выбор пакета управления версиями для управления документами
- 10. Дизайн шаблонов для C# Windows Forms
- 11. Плагин Maven для управления версиями
- 12. Папки для управления версиями версий
- 13. Форматирование текста для управления версиями
- 14. jboss envers для управления версиями?
- 15. Идеи для управления версиями Номер
- 16. Бамбук для управления версиями кода
- 17. Алгоритм для системы управления версиями?
- 18. Решение для управления версиями Rails
- 19. Хорошее приложение для управления версиями
- 20. Дизайн веб-шаблонов
- 21. Дизайн шаблонов с рельсами
- 22. Дизайн шаблонов в рельсах
- 23. Дизайн шаблонов в PRISM
- 24. Дизайн шаблонов пакета независимости
- 25. Дизайн шаблонов и принтеров
- 26. дизайн Редактор шаблонов
- 27. Дизайн шаблонов с C#
- 28. Дизайн шаблонов в QA
- 29. Дизайн шаблонов в Аде?
- 30. Как изменить имя сервера управления версиями в клиенте управления версиями?