Модераторы: Се ля ви
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен совет по правильному использованию MVC - пат, Для составления блок схем 
:(
    Опции темы
kalexi
  Дата 8.10.2013, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 9.2.2008

Репутация: нет
Всего: нет



Есть вопрос: необходимо реализовать на основе шаблона MVC следующую систему отображения данных (выводиться будет в браузере в canvas).

Есть собственно блок (canvas) в который будет выводиться блок схема со связями, блоки и связи могут отображаться по разному. Надо реализовать это с использованием шаблона MVC. Я набросал кое-что но не знаю насколько верно:

---------------------------------------------------------------------------------------------------------------------------------------
ДИЗАЙНЕР - основа для загрузки, хранения и отображения содержимого
БЛОК - собственно блок в схеме, должен реагировать на приход сообщения о наведении на него мыши

Предполагаемая мною архетектура:

МОДЕЛЬ-ДИЗАЙНЕРА:
    * Хранение "Моделей-Блоков" (Описаны ниже)

ПРЕДСТАВЛЕНИЕ-ДИЗАЙНЕРА:
    * Создание блока отображение на html-странице (canvas)
    * Отслеживание события перемещения мыши внутри canvas (средствами браузера)
    * Хранение "Обсервера-Дизайнера" для оповещения об изменениях координат мыши полученных из предыдущего пункта

КОНТРОЛЛЕР-ДИЗАЙНЕРА:
    * Загрузка данных и создание на их основе массива связей "Модель-Представление-Контроллер-Блоков" и заполнения ими своей Модели

---------------------------------------------------------------------------------------------------------------------------------------

МОДЕЛЬ-БЛОК:
    * Хранение своих данных (имя, координаты, связи) и доступ к ним
    * Хранение информации о выделении блока (при наведении мыши)
    * Хранение "Обсервера-Блока" для оповещения об изменении данных в Модели

ПРЕДСТАВЛЕНИЕ-БЛОК:
    * Слушание "Обсервера-Блока" из своей модели и вызов функции отрисовки
    * Функция отрисовки блока
 
КОНТРОЛЛЕР-БЛОК:
    * Слушание событий изменения координат мыши из "Представления-Дизайнера"
 
 ---------------------------------------------------------------------------------------------------------------------------------------
 
ПЛАН РАБОТЫ СИСТЕМЫ:
    * Создание "Представления-Дизайнера"
        * Создание "Представлением-Дизайнера" блока Canvas на HTML странице
        * Создание Обсервера для оповещения об изменении координат мыши
        * Добавление слушателя для элемента Canvas о перемещении мыши и вешание на него отправки событий "Обсервера-Дизайнера"
    * Создание "Модели-Дизайнера"
    * Создание "Контроллера-Дизайнера"
        * Загрузка данных, и создание на их основе массива связок "Моделей-Представлениий-Контроллеров-Блоков"
        * Привязка слушателя в каждом "Контроллере-Блоке" к событию "Обсервера-Дизайнера" из "Представления-Дизайнера" о перемещении мыши
        
Таким образом при изменении положения курсора происходит:
    * Событие от Canvas передается в слушатель в "Представлении-Дизайнера" и отдается на распространении Обсервером
    * "Контроллеры блоков" получают событие с Обсервера и проверяют находится ли он над ними
    * Если один из "Контроллеров-Блоков" определяет, что переданные координаты над ним, то он меняет свою Модель
    * Его модель в свою очередь отправляет событие об изменении своим Обсервером для своего Представления
    * "Представление-Блока" на который приходит сообщение об изменении Модели выполняет функцию отрисовки

 ---------------------------------------------------------------------------------------------------------------------------------------
 
 Собственно хочется узнать правильно ли я понимаю как его реализовать, есть какие-то предложения?
 Большое спасибо!
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Системный анализ, проектирование и UML"
Се ля ви

Форум "Системный анализ, проектирование и UML" предназначен для обсуждения вопросов, так или иначе связанных с этапами жизненного цикла автоматизированных (программных, информационных, автоматических) систем:

• предпроектные обследования объектов автоматизации;

• разработка концепции создания систем;

• моделирование бизнес-процессов (в т.ч. на UML);

• проектирование архитектуры систем;

• управление проектами;

• управление качеством;

• CASE-средства;

• реинжиниринг.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Системный анализ, проектирование и UML | Следующая тема »


 




[ Время генерации скрипта: 0.0912 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.