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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.09.2013, 00:06
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 11  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,590
Записей в блоге: 17
Пф.
С одной стороны я с поддержкой создателей и сообщества двух самых совершенных веб-фреймворков, с другой стороны ты с чуваком, который неуверенно говорит "ну не так уж и плохо...".

Ценности в разговоре с тобой я не нахожу, поэтому можно не отвечать; я зашел чтобы помочь топик-стартеру.
Так вот: я за модель, если данные будут храниться в ней. Или за вью, если к модели данные не дойдут.
Категорически против контроллера.

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

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

Старый 03.09.2013, 14:01
carrotoff вне форума Посмотреть профиль Отправить личное сообщение для carrotoff Найти все сообщения от carrotoff
  № 13  
Ответить с цитированием
carrotoff
 
Аватар для carrotoff

Регистрация: May 2010
Сообщений: 543
Я не хочу принимать ничью сторону, но хотел бы внести некоторые коррективы.

Цитата:
С одной стороны я с поддержкой создателей и сообщества двух самых совершенных веб-фреймворков
У Джанги вообще нет такого понятия - контроллер. Там есть Вид, которые выполняет его роль. А вместо вида - шаблоны, но это не суть. Большую часть работу на себя берет модель, но из-за мощного ORM. По факту, кода в "джанго контроллере" получается больше ввиду скрытого функционала модели.

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

В рельсах тоже самое (хотя у меня не было с ними опыта, так что, если я не прав - поправь). Большую часть на себя берет ActiveRecord, как ОРМ Джанги.

ZendFramework - это плохой пример. Этот фреймворк печален и давно морально устарел.

Цитата:
ты с чуваком, который неуверенно говорит "ну не так уж и плохо...".
А вот тут я не согласен. Этот "чувак" один из создателей Yii фреймворка. Это очень хорошая штука (многое позаимствовано у рельсов). Еще php-фреймворк достойный внимания - Symfony 2.

Исходя из всего вышеописанного, я пытаюсь подвести разговор к тому, что веб-фреймворк не может быть хорошим примером, почему толстый контроллер плохо или хорошо. Ибо раз человеку удалось в веб-фреймворке сделать толстый контроллер, значит он делает что-то не так, потому что они дают все инструменты, чтобы этого избежать
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

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

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,590
Записей в блоге: 17
А у меня мало опыта с Джангой

Как бы тут ни было: он не говорит, что это хорошо. Он говорит, что это не плохо.
Вопрос был о моде и тенденциях. Это ведь подход, а не конкретная реализация. Вебфрейморки просто самые яркие "реализаторы" парадигмы
Я к чему клоню-то: эвмэцэ не описан как прикладное к чему-то конкретному. Скорее это способ организации кода в целом: поэтому я считаю допустимым заимствовать подходы и приводить примеры других языков и фреймворков.

Старый 03.09.2013, 17:41
Babylon вне форума Посмотреть профиль Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 15  
Ответить с цитированием
Babylon
Banned
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Цитата:
Сообщение от in4core Посмотреть сообщение
http://rmcreative.ru/blog/post/tolst...ak-uzh-uzhasny
Мой вам ответ одной ссылкой. Даже если все равно глубоко подумать, как бы то не было, модель в любом случае занимается логикой, но как ты сопоставляешь слово ЗАГРУЗКА ДАННЫХ С СЕРВЕРА и логика? Логика по сути это рассчеты, если сказать грубо.
Модель в любом случае работает с данными, которые не отображаются. Дело не в этом. Зачем модели знать о конретной реализации класса загрузки? У нее есть интерфейс посредством, которого она общается с прокси сервисами и получает через него данные.

Старый 04.09.2013, 12:29
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 16  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
По поводу вопроса топика.
Здесь скорее подойдет схема MVCS
Model-View-Controller-Services
Как раз загрузка файлов, отдаётся сервисам.
В моих проектах сервисы сделаны коммандами as3commons.async, и по сути являются обособленными подконтроллерами. Т.е. контроллер инициирует их работу и даёт им ссылку на модель, которую они изменяют.
Другими словами: сервисы - прослойка между контроллером и моделью.
Существуют также прослойки между View и Controleer (Presenter, Mediator)
И между View и Model (Presentation Model, View Model)
Однозначно отнести эти прослойки к каким либо слоям MVC невозможно. Т.к. если смотреть со стороны вью - PM - это контроллер, если смотреть со стороны контроллера или модели - то PM - это вью.
__________________
Отряд Котовскага

Старый 04.09.2013, 13:08
Babylon вне форума Посмотреть профиль Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 17  
Ответить с цитированием
Babylon
Banned
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Котяра, расскажи пожалуйста о преимуществах as3commons.async.

Старый 04.09.2013, 13:22
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 18  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Преимуществах перед чем?
Мне команды помогают выделить обособленную асинхронную операцию в обособленный модуль.
Который легко модифицируется и реиспользуется.
Код последовательных действий становится понятным.
пример из реального проекта:
Код AS3:
                        _preloadContext = new PreloadContext();	
                        _preloadCommand = new CompositeCommand(CompositeCommandKind.SEQUENCE);		
			_preloadCommand.addCompleteListener(preloadCommand_completeHandler);
			_preloadCommand.addErrorListener(preloadCommand_errorHandler);
 
			var updCommand:UpdateResourcesCommand = new UpdateResourcesCommand(_preloadContext);
			createUpdatePreloader(updCommand);
			updCommand.addCompleteListener(updateCompleteHandler);
 
			var preloadGuiCommand:PreloadGuiCommand = new PreloadGuiCommand(_preloadContext);
			preloadGuiCommand.addEventListener(Event.ACTIVATE, preloadGuiActivateHandler);		
 
			_preloadCommand
				// грузим rewrite-список ресурсов, парсим его, создаём реврайтер для лоадеров
				.addCommand(new LoadAndParseRewriterCommand(_preloadContext))
				// грузим локаль
				.addCommand(new LoadAndParseLocaleCommand(_preloadContext))
				// загружаем дефолный фонт
				.addCommand(new LoadSWFCommand('lib/fonts/opensans.swf', new LoaderContext(false, ApplicationDomain.currentDomain)))
				// грузим апдейты
				.addCommand(updCommand)	
				// предзагружаем гуи
				.addCommand(preloadGuiCommand)			
				.execute();
Сами по себе команды тоже могут быть составные, например UpdateResourcesCommand
создаёт секвенцию паралленых комманд, которые грузят в 5 потоков по списку файлы и затем их сохраняют в сторадже.
__________________
Отряд Котовскага

Старый 04.09.2013, 14:24
Babylon вне форума Посмотреть профиль Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 19  
Ответить с цитированием
Babylon
Banned
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Cпасибо Котяра. Просто хотел узнать о причинах использования as3commons.async

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

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

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

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


 


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


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