У меня есть вопрос о дизайне графического интерфейса, особенно с Java Swing и создании четкого разделения между презентацией и моделью.
Это немного сложно описать, но по сути у нас есть много справочных данных в нашей системе (то есть, которые соответствуют таблицам поиска в БД). Мы хотим, чтобы люди могли редактировать их все с одного экрана.
Итак, в идеальном мире нам бы хотелось, чтобы в верхнем левом углу было поле со списком «типов» справочных данных (то есть каждому соответствует одна таблица в БД).
Затем, когда выбрано, список данных заполняется ниже, также фильтр (или поле поиска). Когда выбран один из этих элементов, активируется панель справа, которая позволяет редактировать фактические данные.
Теперь вот проблема: каждый тип данных, который нам нужно отредактировать, отличается, поэтому у него разные поля и т. Д. Мы могли бы использовать общее решение, но я не очень их люблю - есть много разных правила проверки для каждого и т. д., даже для разных клиентов, и управлять им было бы кошмаром.
Мы используем шаблон Presentation Model , чтобы достичь некоторой степени разделения между кодом GUI и моделью, но я не могу придумать чистый способ сделать это, который каким-то образом не размывает линию немного ответственности.
Как вы решаете подобные проблемы?
[Примечание: извиняюсь за длинный вопрос, надеюсь, это понятно, я могу перефразировать при необходимости]