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

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

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Ну раз так то чего уж)))
Будем учиться у великих))
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Паттерн – это типичная задача, под которую можно предоставить типичную реализацию в псевдокоде. А тут эмвэцэ, скинни-фэтти контроллеры, непонятно чья задача общаться с сервером, оправдывание существования "главного контроллера", оправдывание использования эмвэцэ без медиаторов...

Столько вопросов и так мало ответов. А оказывается – всё уже задокументировано единичной реализацией.

Думаю, не я один буду очень рад внять опыта от профи, который смог обобщить это всё. in4core, делись, где встретить такого человека?

Старый 01.09.2013, 16:28
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 553  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
@Psycho Tiger, Так это же in4core и есть. Просто скрывается.
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Psycho Tiger - ты полностью отходишь от темы, совершенно начинаешь нести пургу о другой части, не о той, которая стоит в вопросе. Причем тут задача общения с сервером и stage главного контроллера? Что за бред. Ты заработался походу, нефиг тут филосовстовать - тут конкретно поставленный вопрос был, на который есть конкретный ответ.
Ну, а уж если ты хочешь поговорить о сервере, который тут вообще не причем. То общаться с сервером как раз задача контроллеров, а вот каких именно - непонятно в любом случае, но не то, чтобы непонятно, тут нет четкой постановки. У меня например в приложениях с сервером общаются почти все контроллы, главный общается с методами стейтов ( начало игры, конец игры и т.п.) , например, а дочернии контролы общаются с методами, ну например , методами функционирования инвентаря или каких то других мини боксов, к примеру. Но это опять все сугубо личное, у каждого свое. Да , я и сам говорил ни раз, что МВС - тема то философская , тут нет четко поставленной задачи, но в некоторых местах, она все же есть, иначе бы формулировки паттерна не было. Так вот и с главным контроллером - new MainController(host) , new BaseModel(БЕЗ НИЧЕГО), new BaseView(...rest) . Понятно дело, что от концепции всегда можно отойти, придумать свою - именно для этого и создан МВС, но написать например new BaseModel(this._server) - можно сразу руки рубить.
__________________
Марк Tween

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Вопрос был в описании "паттерна MVC".
Когда ты пишешь о том, что паттерн создан для того, чтобы отойти от его концепции – это значит что ты не понимаешь предназначение паттернов.
Когда ты называешь архитектуру паттерном – это значит что любая архитектура у тебя под копирку. Это значит что ты не растёшь над собой.
Когда ты утверждаешь что "общение с сервером задача контроллера" – это значит что ты используешь "толстый контроллер". Всё бы ничего, но твоя формулировка четко отдаёт главным: ты не понимаешь, зачем придумали MVC. Ты используешь его "потому что это круто и все так делают" и держишь в уме заготовленную фразу "ну это типа отделяет отображение от логики".
Но что хуже всего: у тебя нет желания саморазвития. Это выражается в отсутствии взглядов на MVP, MVVM, Model Delegate или даже примитивно похудевший контроллер, который повышает модель из статуса Observable VO в статус действительно модели. И это даже без взгляда на твои недавние топики с вопросами, которые стоило разобрать, ну не знаю, года 2 назад?

Извини если что-то сказал обидное, но я глубоко тобой разочарован.

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

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Лучше бы обсудили имплементацию нескольких интерфейсов у класса Вида или Модели и их взаимодействие с соответствующими proxy классами. PTiger любит абстрактно порассуждать. Не вижу ничего плохого.

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Ни в коем случае, я не обижаюсь, ты сказал все верно, я уже давно не развиваюсь в этой сфере, дабы не испытываю большой нужды, у меня четко поставленная концепция разработки программ на МВС, лишнего мне не надо. А вот по поводу - пишу на нем потому что МОДНО - тут не прав, я пишу, потому что это очень УДОБНО, удобнее, пока ничего не встречал, как в плане дописывания модулей, так и в плане быстрой организации любого приложения.
Psycho Tiger. Давай тогда поставим вопрос ребром. ( не знаю как у тебя, у меня программирование это второй заработок , скорее больше хобби ). У меня нет ОГРОМНОГО ( подчеркну это слово, дабы тем не менее всегда узнаешь, что то новое) желания развития дальше в этой сфере
а) Все, что я знаю - достаточно для того, чтобы писать хороший, чистый код, который будет выполнять то, что от него требуется
б) У меня нет ни одного приложения, которое не работает или работает с глюками.
в) У меня стабильная клиентура, которая мной полностью довольна, мне не нужно рыпаться по фриланс сайтам ища работу за копейки.
г) При том, что это мое хобби, так скажем, мой заработок составляет в среднем 3000$ в месяц.
И так, я имею все, что нужно, а так же высокий ЗП, даже по МСК, если считать. О каком саморазвитии мне нужно подумать, скажи мне, студент? Сидеть, читать книжки по паттернам, статьи на форумах англоязычных и т.п., ради лишь того, чтобы сидеть тут с тобой и мерится письками, кто лучше понимает МВС? Ну это просто смешно.
Да несомненно, это может еще и пригодится работая в команде флешеров, но меня данная стезя не привлекает , подстариваться под кого то, соблюдать конвенции принятые только в данном офисе и т.п. - фу и фу.
На самом деле ты еще просто молод, вот и прет у тебя юношеский максимализм, типа я круче всех, могу со всеми поспорить и т.п. - ну это не плохо и не хорошо, это в порядке вещей, с возрастом придет осознание, и естественно ты забудешь, о том, как сидеть и пояснять всем , что такое MVP, а что MVVM , у тебя будут слегка другие приоритеты в жизни Удачи.
И я думаю далее, лучше помоги человеку, который задал вопрос, дабы тема вроде как не для холивара, а не спорь со мной, все равно не переспоришь)))
__________________
Марк Tween

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

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
http://jessewarden.com/2012/08/backb...evelopers.html

Старый 30.09.2013, 00:44
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 559  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Прежде чем начать оправдываться, хочу поблагодарить in4core за его труд!
Если бы не он, то возможно я бы и не получил ответа, на свой глупый вопрос.
Такой "код".. я даже не буду говорить от куда он взялся, лучше его раз и навсегда забыть.
Статью Psycho Tiger я не один раз прочёл, но возможно и вправду что то не допонял. Ещё есть догадка, что меня не понимают из-за того, что я хочу сделать так, как в жизни не когда не делают.


Последний раз редактировалось Akopalipsis; 30.09.2013 в 02:08.
Старый 30.09.2013, 01:12
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 560  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Примерно так.
Контроллер инитит модель и вью.
Вью подписывается на модель.
Контроллер подписывается на вью.
Когда из вью что-то прилетает в контроллер - он может дернуть модель и что-то в ней поменять. А модель в свою очередь собщит об изменении наружу.
Так что всё грубо говоря верно, только кода мало, думаю когда будет больше - появятся еще вопросы.

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

Т.е. именно эту ситуацию лучше было решить без контроллера вообще.
В модели лежит словарь:
Код AS3:
{ 0:0xF5F5D6, 1:0xDBF5D6}
А вью при клике просто лезет в модель и смотрит нужный цвет.

//==========================

Второй вариант.

Так как сделал ты. Но в модели есть переменная : currentColor
И в методе в котором у тебя свитч и диспатч пачки событий наружу - просто установка значения в эту переменную, и диспатч ОДНОГО события CHANGE вконце.

Вью получает событие, и рисует model.currentColor

//====================

Короче идея в том что в модели не только логика. Но и данные.
Т.е. логика которая не меняет данных - модели не очень нужна. Хотя туда можно добавить какие-то методы типа:
Код AS3:
function getCurrentColorByButtonIndex(id:int):uint //(который по сути геттер, и дергается он не из контроллера, а из вью)
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

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

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


 


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


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