Имеется диалог содержащий следующие поля:
Объект, улица, район, дом, корпус
Алгоритм работы:
1. При выборе объекта его адрес заносится в поля улица, дом, корпус (здесь имеем переход к пункту 2)
2. При изменении полей улица, дом и т.п. может измениться объект и/или район (здесь имеем переход к пункту 1)
Имеющийся вариант реализации не устраивает своей корявостью (много хаков) и плохоработоспособностью
Вот такая вот циклическая зависимость
Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога
с целью оптимального кодирования и легкостью поддержки
P.S. язык реализации java
... << RSDN@Home 1.2.0 alpha rev. 745>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Здравствуйте, 6lackbird, Вы писали:
6>Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога 6>с целью оптимального кодирования и легкостью поддержки
Здравствуйте, 6lackbird, Вы писали:
6>Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога 6>с целью оптимального кодирования и легкостью поддержки
Тут не паттерны и язык реализации нужны, а кто-то, кто нормально в юзабилити разбирается.
Выложите скриншот, как у вас сделано? Судя по описанию — что-то вроде мастера, с двумя шагами?
Как вариант — откажитесь от диалогов, сама ваша постановка проблемы говорит о том, что диалог здесь не очень подходит.
Ответьте на вопрос — как вы выбираете объект, откуда? Спросите у будущих пользователей, может быть они что-то смогут предложить
Может быть вам подойдет типичный вариант с деревом объектов. Подобное используется во многих электронных картах.
Я рисовал в визио, на скорую руку
Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.
Еще внизу дерева текстовое поле, при вводе в которое текста происходит мгновенный поиск, или фильтрация, объектов по введенному тексту. Но это уже частности, хотя и удобные.
... << RSDN@Home 1.2.0 alpha rev. 648>>
Re[2]: Циклические зависимости в диалоге (поля ввода)
Здравствуйте, Andy Panda, Вы писали:
AP>Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.
Мне необходим именно четкий алгоритм или способ его построить
P.S.
Диалог выглядит следующим образом:
Все описанные вами фичи есть и активно используются пользователями
... << RSDN@Home 1.2.0 alpha rev. 745>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Вынеси всю логику обработки событий от формы в отдельный класс. Форма будет состоять только из геттеров и сеттеров и общаться с твоим классом или напрямую или через обсервер. Т.к. логика обработки у тебя будет в одном месте, тебе несложно будет контролировать каскадные изменения и предотвращать циклическую генерацию событий. Что касается паттернов, то это все вариации на тему MVC/MVP.
Здравствуйте, 6lackbird, Вы писали:
6>Здравствуйте, Andy Panda, Вы писали:
AP>>Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.
Можете набросать, как оно сейчас у вас работает? Какая объектная модель, какие структуры данных используются для хранения информации?
А то совершенно непонятно, где у вас проблема.
С виду задача кажется (только кажется, понимаю) тривиальной...