Это звучит неправильно в дизайне?Я пытаюсь найти наиболее гибкий способ обработки шаблона, который может быть изменен с течением времени.Например, с первой версии шаблон приложения может иметь 10 полей.Следующая версия шаблона может иметь 15 полей.Проблема не столько в добавлении полей, сколько в удалении / изменении значения имени поля.Шаблон будет сохранен как представление JSON.Поэтому хранение в базе данных с различными вариациями не является проблемой.Проблема в том, как лучше всего представить это в принципах ОО дизайна.Кроме того, в классическом Spring MVC с представлениями JSP, как лучше всего обрабатывать различные варианты хранимых шаблонов во времени?
Я думал, если я сохраню версию и введите в базе данных запись (JSON).
Чтобы сделать это в моем базовом интерфейсе (интерфейс, похожий на маркер), у меня есть 2 метода String getVersion () и getType (), что было бы неправильно с учетом принципов проектирования?Если я сделаю это, я могу запросить зависимости типа для любого дочернего класса при извлечении этих объектов из базы данных.Представьте, что объект хранится в виде плоской структуры (JSON) в базе данных.Например -> findXTypes () как метод.В реализации метода я могу найти с помощью Type = '. Tostring ()' в запросе.
При их просмотре это усложняется. Я могу сделать это в контроллере с помощью @RequestMapping (value = "/ myTemplate", method = RequestMethod.GET) public String showRecord (@RequestParam ...) {.... return "myTemplate" + Type + TemplateVersion;}
Тогда мне нужно будет ввести новый JSP (View) для каждой версии.Не очень хорошо, я знаю, но в противном случае мне пришлось бы обрабатывать версию в выражениях IF в том же виде, что было бы более сложно.
Есть хорошие идеи?