Russian Qt Forum
Ноябрь 15, 2024, 21:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Правильная ли архитектура?  (Прочитано 3217 раз)
Кусай
Гость
« : Январь 30, 2011, 13:52 »



Собственно, model - описание модели. Имеет методы, через которые получает команды от контроллера и методы, которые передают нужную информацию для отрисовки.
Controller - ловит нажатия клавиш/мышь и срабатывания таймера, и изменяет состояние модели
View - с помощью геторов модели получает нужную информацию и рисует.
В main() создается экземпляр модели; главное окно, перехватывающее нажатия клавиш и мышь; создается таймер.
main() подключает к себе контроллер, отображение и автоматически саму модель. для контроллера и отображения он передает указатели на данные.
Широкие стрелки - от того ЧТО подключается, к тому К ЧЕМУ подключается.

Модель адекватна?
Записан
Denjs
Гость
« Ответ #1 : Январь 30, 2011, 14:23 »

вы UML в принципе не любите, да?  Смеющийся

Цитировать
Модель адекватна?
Адекватна... чему?
некое описание модели я вижу. Задачу, сферу применения - нет.

Для ориентира/примера - момимо шаблонов проектирования и описания MVC в той-же википедии, почитайте Assistant о том как например в QT реализована Модель + (Вид+Контроллер).  (например  где то там говорилось что "Вид"+"Контроллер" в Qt "сведены вместе"...)
не уверен, но похоже начать можно со статьи Ассистанта "Model/View Programming".
« Последнее редактирование: Январь 30, 2011, 14:43 от Denjs » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Январь 30, 2011, 14:46 »

Не очень верится что Controller никак не зависит от View - нажатия клавиш и мыша обычно имеют смысл в контексте UI (а не сами по себе)
Записан
Denjs
Гость
« Ответ #3 : Январь 30, 2011, 15:00 »

почему бы и нет? ))) зависит же от задачи.
В QT это так (контроллер+вид = вместе. )
а вот для другой области - скажем веб-сервисы или не десктопное гуи-приложение - то у нас вполне себе могут быть разные функции и классы для получения некого отображения (например "отчет" - как некий "срез" какой-либо многомерной модели с цифрами) и функции/классы модификации модели.

Все же зависит от задачи, которую аффтор до сих пор не рассказал.

впрочем ладно... умолкаю пока аффтор не появится....
« Последнее редактирование: Январь 30, 2011, 15:01 от Denjs » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Январь 30, 2011, 19:38 »

а вот для другой области - скажем веб-сервисы или не десктопное гуи-приложение - то у нас вполне себе могут быть разные функции и классы для получения некого отображения (например "отчет" - как некий "срез" какой-либо многомерной модели с цифрами) и функции/классы модификации модели.
Согласен, но это случай довольно редкий

Еще вопрос(ик) - а как View узнает что ему надо обновиться/перерисоваться? По таймеру - ну вряд ли. Желание четко разделить модель/UI похвально, но то "в теории"
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 22.