|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.08.2014, 12:05 | #1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Document/View ввод данных.
Структура проекта содержит модель Документ(CMyD)/Представление(CMyV) и класс CMyDlg производный от CDialog. Не до конца понял логику: при выборе пункта меню, ну например "Добавить" (здесь и далее я предполагаю, некий абстрактный проект, детали не столь важны), я обрабатываю сообщение в классе CMyV (почему то есть правило не обрабатывать его в CMyD) и вызываю метод класса CMyD. В этом методе я показываю CMyDlg и получаю от пользователя данные, которые тут же заношу в оперативку и ... дальше у меня ступор. Мне необходимо внести полученные данные в CMyV, но получается как то глупо: из Представления я получаю ссылку на Документ, а из Документа мне нужно получить Представление... блин, зачем же стоило разделять на два класса, если потом возникает желание объединить их? Прошу Вас привести пример модели: где обрабатывать сообщение, получать данные, как организовать интерфейс между Документом и Представлением?
|
29.08.2014, 12:43 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
Теперь если мы хотим увидеть в представлении(CMyV) обновленные данные, то мы должны оповестить его о том что данные изменились (т.е. использовать ссылку из документа на представление(СMyV)). В результате извещения представление принимает меры по изменению(обновлению) показа данных (используя ссылку из представления на документ СMyD).
программа — запись алгоритма на языке понятном транслятору
|
|
29.08.2014, 13:37 | #3 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
|
29.08.2014, 14:25 | #4 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
правильно тем View которые у него зарегистрированы (те самые ссылки из документа на View). Цитата:
принцип автономности изменили структуру управления (набор кнопок) тут же изменили набор сообщений (от этих кнопок). А потом при обработке сообщения транслируем действие в модель(вызываем ТОТ же что и ранее метод модели). Итого мы меняем только представление и не трогаем модель. ДВА разных представления ОДНОЙ модели имеют разный набор кнопок(сообщений) для вызова ОДНОГО действия с моделью.
программа — запись алгоритма на языке понятном транслятору
|
||
29.08.2014, 14:34 | #5 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Выражаю большую благодарность за помощь.
|
12.09.2014, 18:02 | #6 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Какой из вариантов использовать для Doc/View архитектуры?
Вариант №1. Код:
Код:
|
15.09.2014, 21:18 | #7 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Не могу понять, прошу помочь.
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача данных из View в Controller (ASP.NET MVC) | f333874 | ASP.NET | 0 | 25.07.2013 00:53 |
Получить view из document | Samir_ | Visual C++ | 0 | 11.05.2012 22:38 |
Подключение к сайту, ввод данных, отправка данных. | Hichigo | Общие вопросы C/C++ | 0 | 20.07.2010 20:24 |
Ввод данных | policedog | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 30.05.2009 21:53 |