PDA

Просмотр полной версии : Построение блок схем


Reijii
17.02.2006, 18:39
Доброго вечера.

кто сталкивался с задачей, "конструктора" блок схем, т.е. есть набор блоков, у блоков есть свойства, из которых мы строим путем драг-н-дропа, блок схему со своими связями и последовательностями..

вопрос вот в чем, с чем выгодней использовать в данном случае Flash, и как (формат) правильней и выгодней хранить эти схемы в дальнейшем?

в инете искал но чтото ничего такого путнего не нашел :(

kruasan
17.02.2006, 19:59
Я вижу в этом своеобразный визуальный XML-редактор.
Данные храни в XML. Узел схемы соотв. узлу XML, аттрибуты описывают тип узла, координаты на схеме, линки с другими узлами и т.д.

Antares
17.02.2006, 23:13
К примеру, XMI, промежуточный формат для связи различных систем описании моделей, типа UML, фактически является вариацией XML. И это стандарт, принятый всеми разработчиками :)

Reijii
18.02.2006, 14:39
ага я тоже так подумал, спасибо за ответы..
только вот я думаю что будет проще наверное саму рабочую область представлять в виде матрицы, и блоки могут быть строго в определенных местах, по диагонали или вертикально / горизонтально, и вокрег каждого блока оставлять 8 ячеек (графически одинаковой величины), для "стрелочек", когда сами блоки могут быть произвольной величины и формы.

т.е. сама схема это будет массив или XML со структурой этой матрицы.. в ячейках которой будет или "пусто" или же "ссылка" на элемент (его XML или его запись в БД)..

фух.. старался вроде ясно объяснить идею.
интерестно было бы послушать мнение более опытной аудитории )

MaxLife
18.02.2006, 19:03
Странная это несколько идея. Насчёт матрицы. Размещение по сетке - это да, а сама матрица вроде как и не осмысленна. Я сейчас делаю как раз редактор блок-схем, и никакая матрица мне не нужна :)

Reijii
18.02.2006, 19:40
а можешь поделится опытом ?

Antares
18.02.2006, 20:02
Объекты хранишь как удобно по случаю, обычно все же в виде некого дерева.
Связи в виде коллекции(й). Объект "связь" может иметь две точки привязки и направление, и т.п.

Вот и вся композиция.

Reijii
18.02.2006, 20:17
спасибо за участие, всем,
только я все никак еще не допойму про представление самой схемы, если матрицу / массив не нужно использовать, наверное нужно сделать вечерний перерыв :). а завтра-после завтра опять вернутся с новыми может вопросами или поделится решениями )

2 MaxLife: я не прошу готового кода :) я интересуюсь теорией и опытом, так как ты уже сталкивался(ешся) с такой задачей, мне интерестно сделать самому это. Хотя за консультацией не раз буду обращатся я думаю к более сведущим разработчикам :)

Antares
18.02.2006, 20:30
По-хорошему -- нужно. Равно как и паттерн "Фабрика". Но -- по идее можно и без этого. Только если придется переделывать, проклянешь сам себя.

Reijii
18.02.2006, 20:54
таки не удержался и переот отдыхом еще раз зашел )
что есть паттерн фабрика ? и можно ли его заполучить ? (поисковики ответа не дали, на форуме тоже вроде нет по поиску?)
гугл правда дал линки на "оранжевый флэш" с паттерном "Абстрактная Фабрика" но топик оказался запаролен. :(

а поповоду переделывать, я думаю что нужно привыкать делать вещи с тем условием что бы легко было потом переделывать, даже если это и не потребуется.

MaxLife
19.02.2006, 00:22
Ну что опыт.

В основе лежит контейнер-менеджер, который отвечает за операции над элементами - выделение, переход к редактированию, выделение группы, претаскивание и т.п. Также следит за расположением по сетке.

Объекты - у меня - подразделяются на два вида - anchoredElement и transitionalLink, первый, соответственно, вид прямоугольников/блоков с точками привязки линий переходов, второй - собственно линия.

В принципе, всё.

Reijii
20.02.2006, 12:17
По-хорошему -- нужно. Равно как и паттерн "Фабрика". Но -- по идее можно и без этого. Только если придется переделывать, проклянешь сам себя.

почитал про Фабрику (http://www.javenue.info/post/17) (надеюсь, то про что ты говорил), неплохая идея, спасибо большое пригодится.

Antares
20.02.2006, 19:13
Оно, оно...