Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.09.2013, 14:46
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 1  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
По умолчанию MVC: FileReference куда отнести?

Добрый день. Возник такой вопрос: fileRef позволяет работать с файлами. При разработке в MVC - куда отнести его вызовы? Он вроде как визуальный (а может и нет). Насколько помню, контроллер отвечает только за ввод данных, но в модели никаких событий типа Event не должно происходить - значит, в вид? Или все-таки в модель?

Код AS3:
private var fileRef:FileReference;
Код AS3:
 
fileRef.browse([new FileFilter("Файлы XML", "*.xml")]);
fileRef.addEventListener(Event.SELECT, onFileSelected);
Код AS3:
fileRef.removeEventListener(Event.SELECT, onFileSelected);
fileRef.addEventListener(Event.COMPLETE, onFileLoaded);
fileRef.load();


Последний раз редактировалось Psijic; 02.09.2013 в 15:03.
Старый 02.09.2013, 14:59
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Psijic - давай досвидания! Ну что ты пишешь вообще?
Цитата:
Насколько помню, контроллер отвечает только за ввод данных
Нет
Цитата:
да и объявление FileReference хранится в модели, а контроллер не имеет к ней доступа
Контроллер как раз имеет доступ к модели
Цитата:
но в модели никаких событий типа Event не должно происходить
В модели как раз события имееют место.

Где хранить данный fileRef - контроллер или вью. По желанию
__________________
Марк Tween

Старый 02.09.2013, 15:02
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 3  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
Да, контроллер имеет доступ к модели, ошибся - не имеет доступа к виду.

Но разве если использовать в контроллере - это не будет ТТУК?
Цитата:
Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Цитата:
Начинающие программисты (особенно в веб-программировании, где аббревиатура MVC стала популярна) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. В этом случае модель выступает исключительно совокупностью функций для доступа к данным, а контроллер содержит бизнес-логику. В результате код моделей по факту является средством получения данных из СУБД, а контроллер представляет собой типичный модуль, наполненный бизнес-логикой, или скрипт в терминологии веб-программирования. В результате такого понимания MVC разработчики стали писать код, который Pádraic Brady, известный в кругах сообщества Zend Framework, охарактеризовал как ТТУК — «Толстые тупые уродливые контроллеры» (Fat Stupid Ugly Controllers)[6]:

Но в объектно-ориентированном программировании используется активная модель MVC, где модель — это не только совокупность кода доступа к данным и СУБД, а вся бизнес-логика. В свою очередь, контроллеры представляют собой лишь элементы системы, в чьи непосредственные обязанности входит приём данных из запроса и передача их другим элементам системы. Только в этом случае контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы

Старый 02.09.2013, 15:10
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Да, контроллер имеет доступ к модели, ошибся - не имеет доступа к виду.
И к виду он имеет доступ В стандартном определении в контролдлере создаются и вид и модель, вид подхватывает модель. Поэтому контроллер может менять модель и читать, вид может только получать get(читать) и события от модели. Модель не имеет доступа ни к контроллеру ни к виду. Это в стандартном определении. Но извратиться можно как угодно.
Ничего плохого ( сильно ужасного ) в толстом контроллере нет, вполне нормальная практика. Тем более говоря о FR - это по сути как мини-сервер, поэтому в контроллере он кстати и на FAT не сильно смахивает
__________________
Марк Tween

Старый 02.09.2013, 15:24
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 5  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
не знаю насчет вида, я пользовался системой описанной Rex van der Spuy - AdvancED Game Design with Flash 2010

Код AS3:
		public function Controller(model:Object):void
		{
			_model = model;
		}

Старый 02.09.2013, 16:32
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 6  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
http://www.flasher.ru/forum/blog.php?b=256

Читаем внимательно, и разбираемся Удачи
__________________
Марк Tween

Старый 02.09.2013, 21:52
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
в толстом контроллере нет, вполне нормальная практика.
...на первых порах. Дядя in4core уже отмечал, что он не-программист, поэтому ему простительно; мода и тенденция уже закрепилась за тонким контроллером.

По вопросу – ну, точно не контроллер. Это "клей" между вью и моделью – почему клей должен служить точкой ввода данных?.
Скорее всего, вопрос в том, кому нужны эти данные. Если эти данные подразумевается хранить в модели – значит, пусть модель их и грузит. Lazy-loading: при обращении к модели, если эти данные нужны, но их ещё нет – пусть определит модель, откуда им взяться.

Модель – главный (даже вернее сказать "единственный") провайдер данных.
Почему в модели это хранить удобно? Потому что другие вью, использующие эти же данные сразу получат их, минуя все преграды, что хорошо.

Старый 02.09.2013, 22:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
очему в модели это хранить удобно? Потому что другие вью, использующие эти же данные сразу получат их, минуя все преграды, что хорошо.
Ты определенно хочешь вогнать модель во что угодно, ну только не в модель. Модель хранитель данных, модель занимается вычислениями и т.п. , соответственно модель предназначена только для работы с данными. Для работы с сервером, загрузками данных есть - контроллер, на крайний случай вью, в данном контексте конечно вью лучше, чем контроллер , но не важно.
Ты даже вчитайся в слова . ВИД - что то визуальное, FR - Не визуальный объект, ну это грубо говоря, дабы и какой нибудь isGUI - тоже не визуальный.

Цитата:
Дядя in4core уже отмечал, что он не-программист
Не помню такого, я программист на тех же правах , что и ты.
Цитата:
мода и тенденция уже закрепилась за тонким контроллером.
Пруф в студию !!! Нефиг просто так болтать. Да и к тому же - мода за Сергеем Зверевым, если чо, наверняка он именно и использует тонкий контроллер. Ну, а если кроме шуток, то нефиг учить людей тому, что придумал сам, у тебя в статье старой все написано нормально - там объяснен MVC как таковой, и как с ним работать.
__________________
Марк Tween

Старый 02.09.2013, 23:24
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 9  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Пруф в студию !!! Нефиг просто так болтать.
Без конкретной реализации, обобщенно: mvC, don't try at home!
По популярнейшим фреймворкам у языков:
PHP: ZendFramework: fat models are good
Ruby: Rails best practices: fat model, skinny controller
Python: Django: Code Organization

... и здесь я устал копировать ссылки у гугла. Попробуй сам!

Старый 02.09.2013, 23:54
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 10  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
http://rmcreative.ru/blog/post/tolst...ak-uzh-uzhasny
Мой вам ответ одной ссылкой. Даже если все равно глубоко подумать, как бы то не было, модель в любом случае занимается логикой, но как ты сопоставляешь слово ЗАГРУЗКА ДАННЫХ С СЕРВЕРА и логика? Логика по сути это рассчеты, если сказать грубо.
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
filereferance , MVC
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.