Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MVC... как правильней реализовать? 
:(
    Опции темы
wowka19
Дата 12.3.2012, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



процесс таков (прога консольная):
вводим табличку - несколько строк (ну там трехмерный массив получается в итоге).
потом прога нам это выводит в красивой рамочке типа:

+---------+-----------+-----------+----------+
|             |               |              |              |
|             |               |              |              |
|             |               |              |              |
+---------+-----------+-----------+----------+

возможно между вводом и выводом будет сортировочка строк...

требование такое - все это надо реализовать через шаблон MVC.

Первые соображения такие:
три класса
View, Controller, Model

в View будет формироваться табличка, то есть ее представление. Я так понимаю View::show() и будет выводить табличку (куча std::cout <<).
а вот что делать в модели и контроллере я понятия не имею.
по идее осталось ввод данных и их сортировка... Наверное первое нужно реализовать в модели (куча std::cin >>), а второе в контроллере.
В общем что-то я не очень понимаю как грамотно это реализовать... кто-нить подскажите, направьте в нужном направлении.
PM MAIL   Вверх
Severyanin
Дата 13.3.2012, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 31.7.2007
Где: Россия, Омск

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



Обычно делают так - View отвечает за работу с вводом пользователя. То есть. в представленном примере это будет отдача формы ввода данных пользователю (если мы про GUI) или просто обработка ввода данных с консоли. Также класс представления должен отвечать за вывод информации пользователю в необходимой форме, то есть - формирования таблицы. При этом он не должен производить никаких операций над данными - сортировок и т п, этим занимается модель. Он только взял данные у пользователя и передал. Или получил уже готовые обработанные данные и отобразил на экране.

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

Контроллер реализует логику самого верхнего уровня - получает запрос пользователя, в зависимости от него вызывает либо метод Представления по отображению окна для ввода данных пользователем, а потом вызывает методы модели для их сохранения и обработки перед внесением в базу, либо - вызывает методы модели, обеспечивающие выборку данных для таблицы, получает обработанные данные и отдает их методу Представления, которое уже их непосредственно выводит в виде таблицы.


--------------------
"Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл
"Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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