|
Модераторы: Се ля ви |
|
kalexi |
|
|||
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 9.2.2008 Репутация: нет Всего: нет |
Есть вопрос: необходимо реализовать на основе шаблона MVC следующую систему отображения данных (выводиться будет в браузере в canvas).
Есть собственно блок (canvas) в который будет выводиться блок схема со связями, блоки и связи могут отображаться по разному. Надо реализовать это с использованием шаблона MVC. Я набросал кое-что но не знаю насколько верно: --------------------------------------------------------------------------------------------------------------------------------------- ДИЗАЙНЕР - основа для загрузки, хранения и отображения содержимого БЛОК - собственно блок в схеме, должен реагировать на приход сообщения о наведении на него мыши Предполагаемая мною архетектура: МОДЕЛЬ-ДИЗАЙНЕРА: * Хранение "Моделей-Блоков" (Описаны ниже) ПРЕДСТАВЛЕНИЕ-ДИЗАЙНЕРА: * Создание блока отображение на html-странице (canvas) * Отслеживание события перемещения мыши внутри canvas (средствами браузера) * Хранение "Обсервера-Дизайнера" для оповещения об изменениях координат мыши полученных из предыдущего пункта КОНТРОЛЛЕР-ДИЗАЙНЕРА: * Загрузка данных и создание на их основе массива связей "Модель-Представление-Контроллер-Блоков" и заполнения ими своей Модели --------------------------------------------------------------------------------------------------------------------------------------- МОДЕЛЬ-БЛОК: * Хранение своих данных (имя, координаты, связи) и доступ к ним * Хранение информации о выделении блока (при наведении мыши) * Хранение "Обсервера-Блока" для оповещения об изменении данных в Модели ПРЕДСТАВЛЕНИЕ-БЛОК: * Слушание "Обсервера-Блока" из своей модели и вызов функции отрисовки * Функция отрисовки блока КОНТРОЛЛЕР-БЛОК: * Слушание событий изменения координат мыши из "Представления-Дизайнера" --------------------------------------------------------------------------------------------------------------------------------------- ПЛАН РАБОТЫ СИСТЕМЫ: * Создание "Представления-Дизайнера" * Создание "Представлением-Дизайнера" блока Canvas на HTML странице * Создание Обсервера для оповещения об изменении координат мыши * Добавление слушателя для элемента Canvas о перемещении мыши и вешание на него отправки событий "Обсервера-Дизайнера" * Создание "Модели-Дизайнера" * Создание "Контроллера-Дизайнера" * Загрузка данных, и создание на их основе массива связок "Моделей-Представлениий-Контроллеров-Блоков" * Привязка слушателя в каждом "Контроллере-Блоке" к событию "Обсервера-Дизайнера" из "Представления-Дизайнера" о перемещении мыши Таким образом при изменении положения курсора происходит: * Событие от Canvas передается в слушатель в "Представлении-Дизайнера" и отдается на распространении Обсервером * "Контроллеры блоков" получают событие с Обсервера и проверяют находится ли он над ними * Если один из "Контроллеров-Блоков" определяет, что переданные координаты над ним, то он меняет свою Модель * Его модель в свою очередь отправляет событие об изменении своим Обсервером для своего Представления * "Представление-Блока" на который приходит сообщение об изменении Модели выполняет функцию отрисовки --------------------------------------------------------------------------------------------------------------------------------------- Собственно хочется узнать правильно ли я понимаю как его реализовать, есть какие-то предложения? Большое спасибо! |
|||
|
||||
Правила форума "Системный анализ, проектирование и UML" | |
|
Форум "Системный анализ, проектирование и UML" предназначен для обсуждения вопросов, так или иначе связанных с этапами жизненного цикла автоматизированных (программных, информационных, автоматических) систем: • предпроектные обследования объектов автоматизации; • разработка концепции создания систем; • моделирование бизнес-процессов (в т.ч. на UML); • проектирование архитектуры систем; • управление проектами; • управление качеством; • CASE-средства; • реинжиниринг. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Системный анализ, проектирование и UML | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |