Циклические зависимости в диалоге
От: 6lackbird Россия  
Дата: 04.10.07 04:53
Оценка:
Имеется диалог содержащий следующие поля:
Объект, улица, район, дом, корпус

Алгоритм работы:
1. При выборе объекта его адрес заносится в поля улица, дом, корпус (здесь имеем переход к пункту 2)
2. При изменении полей улица, дом и т.п. может измениться объект и/или район (здесь имеем переход к пункту 1)

Имеющийся вариант реализации не устраивает своей корявостью (много хаков) и плохоработоспособностью
Вот такая вот циклическая зависимость

Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога
с целью оптимального кодирования и легкостью поддержки

P.S. язык реализации java
... << RSDN@Home 1.2.0 alpha rev. 745>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Re: Циклические зависимости в диалоге
От: kejroot  
Дата: 04.10.07 06:07
Оценка:
Здравствуйте, 6lackbird, Вы писали:

6>Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога

6>с целью оптимального кодирования и легкостью поддержки

может вот это подойдёт?
Re: Циклические зависимости в диалоге
От: Andy Panda США  
Дата: 04.10.07 07:49
Оценка:
Здравствуйте, 6lackbird, Вы писали:

6>Посоветуйте в каких терминах / паттернах описать алгоритм работы диалога

6>с целью оптимального кодирования и легкостью поддержки

Тут не паттерны и язык реализации нужны, а кто-то, кто нормально в юзабилити разбирается.
Выложите скриншот, как у вас сделано? Судя по описанию — что-то вроде мастера, с двумя шагами?

Как вариант — откажитесь от диалогов, сама ваша постановка проблемы говорит о том, что диалог здесь не очень подходит.
Ответьте на вопрос — как вы выбираете объект, откуда? Спросите у будущих пользователей, может быть они что-то смогут предложить

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


Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.

Еще внизу дерева текстовое поле, при вводе в которое текста происходит мгновенный поиск, или фильтрация, объектов по введенному тексту. Но это уже частности, хотя и удобные.
... << RSDN@Home 1.2.0 alpha rev. 648>>
Re[2]: Циклические зависимости в диалоге (поля ввода)
От: 6lackbird Россия  
Дата: 04.10.07 08:09
Оценка:
Здравствуйте, Andy Panda, Вы писали:

AP>Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.


Мне необходим именно четкий алгоритм или способ его построить

P.S.

Диалог выглядит следующим образом:



Все описанные вами фичи есть и активно используются пользователями
... << RSDN@Home 1.2.0 alpha rev. 745>>
"Мы будем уничтожать свое ядерное оружие вместе с Америкой" (c) Б. Ельцин
Re: Циклические зависимости в диалоге
От: MaximVK Россия  
Дата: 04.10.07 08:45
Оценка: +1
Здравствуйте, 6lackbird, Вы писали:

Вынеси всю логику обработки событий от формы в отдельный класс. Форма будет состоять только из геттеров и сеттеров и общаться с твоим классом или напрямую или через обсервер. Т.к. логика обработки у тебя будет в одном месте, тебе несложно будет контролировать каскадные изменения и предотвращать циклическую генерацию событий. Что касается паттернов, то это все вариации на тему MVC/MVP.
Re: Циклические зависимости в диалоге
От: Stormblast http://www.myspace.com/stormblastblack
Дата: 05.10.07 09:53
Оценка:
может визард подойдет, т.е. пошагово ...
Re[3]: Циклические зависимости в диалоге (поля ввода)
От: Andy Panda США  
Дата: 05.10.07 10:40
Оценка:
Здравствуйте, 6lackbird, Вы писали:

6>Здравствуйте, Andy Panda, Вы писали:


AP>>Слева дерево объектов, сгруппированое по каким признакам. При выборе объекта в дереве, его свойства выводятся в правой части окна. При изменения любого свойства новый объект, который подходит по этим свойствам, выбирается в дереве.


Можете набросать, как оно сейчас у вас работает? Какая объектная модель, какие структуры данных используются для хранения информации?

А то совершенно непонятно, где у вас проблема.
С виду задача кажется (только кажется, понимаю) тривиальной...
... << RSDN@Home 1.2.0 alpha rev. 648>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.