Просмотр полной версии : Построение блок схем
Доброго вечера.
кто сталкивался с задачей, "конструктора" блок схем, т.е. есть набор блоков, у блоков есть свойства, из которых мы строим путем драг-н-дропа, блок схему со своими связями и последовательностями..
вопрос вот в чем, с чем выгодней использовать в данном случае Flash, и как (формат) правильней и выгодней хранить эти схемы в дальнейшем?
в инете искал но чтото ничего такого путнего не нашел :(
Я вижу в этом своеобразный визуальный XML-редактор.
Данные храни в XML. Узел схемы соотв. узлу XML, аттрибуты описывают тип узла, координаты на схеме, линки с другими узлами и т.д.
К примеру, XMI, промежуточный формат для связи различных систем описании моделей, типа UML, фактически является вариацией XML. И это стандарт, принятый всеми разработчиками :)
ага я тоже так подумал, спасибо за ответы..
только вот я думаю что будет проще наверное саму рабочую область представлять в виде матрицы, и блоки могут быть строго в определенных местах, по диагонали или вертикально / горизонтально, и вокрег каждого блока оставлять 8 ячеек (графически одинаковой величины), для "стрелочек", когда сами блоки могут быть произвольной величины и формы.
т.е. сама схема это будет массив или XML со структурой этой матрицы.. в ячейках которой будет или "пусто" или же "ссылка" на элемент (его XML или его запись в БД)..
фух.. старался вроде ясно объяснить идею.
интерестно было бы послушать мнение более опытной аудитории )
Странная это несколько идея. Насчёт матрицы. Размещение по сетке - это да, а сама матрица вроде как и не осмысленна. Я сейчас делаю как раз редактор блок-схем, и никакая матрица мне не нужна :)
а можешь поделится опытом ?
Объекты хранишь как удобно по случаю, обычно все же в виде некого дерева.
Связи в виде коллекции(й). Объект "связь" может иметь две точки привязки и направление, и т.п.
Вот и вся композиция.
спасибо за участие, всем,
только я все никак еще не допойму про представление самой схемы, если матрицу / массив не нужно использовать, наверное нужно сделать вечерний перерыв :). а завтра-после завтра опять вернутся с новыми может вопросами или поделится решениями )
2 MaxLife: я не прошу готового кода :) я интересуюсь теорией и опытом, так как ты уже сталкивался(ешся) с такой задачей, мне интерестно сделать самому это. Хотя за консультацией не раз буду обращатся я думаю к более сведущим разработчикам :)
По-хорошему -- нужно. Равно как и паттерн "Фабрика". Но -- по идее можно и без этого. Только если придется переделывать, проклянешь сам себя.
таки не удержался и переот отдыхом еще раз зашел )
что есть паттерн фабрика ? и можно ли его заполучить ? (поисковики ответа не дали, на форуме тоже вроде нет по поиску?)
гугл правда дал линки на "оранжевый флэш" с паттерном "Абстрактная Фабрика" но топик оказался запаролен. :(
а поповоду переделывать, я думаю что нужно привыкать делать вещи с тем условием что бы легко было потом переделывать, даже если это и не потребуется.
Ну что опыт.
В основе лежит контейнер-менеджер, который отвечает за операции над элементами - выделение, переход к редактированию, выделение группы, претаскивание и т.п. Также следит за расположением по сетке.
Объекты - у меня - подразделяются на два вида - anchoredElement и transitionalLink, первый, соответственно, вид прямоугольников/блоков с точками привязки линий переходов, второй - собственно линия.
В принципе, всё.
По-хорошему -- нужно. Равно как и паттерн "Фабрика". Но -- по идее можно и без этого. Только если придется переделывать, проклянешь сам себя.
почитал про Фабрику (http://www.javenue.info/post/17) (надеюсь, то про что ты говорил), неплохая идея, спасибо большое пригодится.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.