Использование абстракции пользовательского интерфейса - PullRequest
2 голосов
/ 05 августа 2010

При использовании абстракции пользовательского интерфейса отображаемые данные защищены от изменений реализации на уровне пользовательского интерфейса. Может ли / должно / это распространяться на вещи более высокого уровня, такие как, например, отображение в виде дерева или сетки? Я не могу понять, как изолировать абстракцию от высокоуровневых деталей того, как пользовательский интерфейс будет отображать данные, полученные через указанную абстракцию.

1 Ответ

0 голосов
/ 05 августа 2010

Вы хотите начать с архитектуры Model-View-Controller.Это позволяет максимально защитить ваш пользовательский интерфейс от изменений данных.Слой модели - это ваши объекты данных.Слой View - это ваши фактические компоненты Swing.Слой Controller - это ваши слушатели.Слой модели написан независимо от двух других, без знания классов.Слой View написан без знания уровня Controller.

Если вам требуется больше абстракции, чем вы, вы можете создать интерфейсы для уровня Model, чтобы несколько разных моделей данных могли использовать один и тот же интерфейс.Таким образом, не имеет значения, какие данные вы предоставляете слою View, он просто отображает их с помощью интерфейса.

Также следует понимать, что не всегда возможно выполнить то, что вы запрашиваете.Иногда пользовательский интерфейс должен быть написан специально для отображаемых данных.Дерево не всегда дерево, а сетка не всегда сетка.Он хорошо работает для настройки слоя просмотра в соответствии с отображаемыми данными.Таким образом, вы можете адаптировать функциональность конкретно к данным, с которыми вы работаете, и создать лучший интерфейс для ваших пользователей.

Конечно, однако, это следует делать там, где это имеет смысл.Именно здесь опыт и суждение играют большую роль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...