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

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

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

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Вот оно как, оказывается. Спасибо за пояснения.

ЗЫ Я кстати понял, почему мне древовидное ветвление в MVC тяжело дается. Пытаюсь думать кодом. А если нарисовать диаграмку, сразу так легко и понятно все становится.

Старый 12.12.2011, 20:29
tofflife вне форума Посмотреть профиль Отправить личное сообщение для tofflife Найти все сообщения от tofflife
  № 2  
Ответить с цитированием
tofflife

Регистрация: Jul 2009
Сообщений: 95
MVP/MMVC больше подуше.

Spicelib, parsley нам в помощь.

Старый 23.12.2011, 14:45
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 3  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от Zebestov Посмотреть сообщение
В любом MVC ни при каком раскладе и ни на каком этапе выполнения приложения входной точкой не должен становиться view, для которого все же существует controller. У меня он тоже "тонкий", но входная точка на каждом этапе приложения — именно контроллер. Именно он всех инициирует, собирает докучи и запускает в нужном порядке. Если не поздно — подумай над реорганизацией.
Т.е. как концептуально это выглядит? Примерно так?

Код AS3:
 
import flash.display.MovieClip;
import org.flashdevelop.utils.FlashViewer;
 
 
///Host
class Main extends MovieClip
{
	public function Main()
	{
		new Controller( this );
	}
}
 
 
///Controller
import flash.events.EventDispatcher;
 
class Controller extends EventDispatcher
{
	public function Controller(scene:Main, target:IEventDispatcher = null)
	{
		var model:Model = new Model();
		var view:Viewer = new Viewer(model);
		scene.addChild( view );
 
	}
}
 
///Model
class Model extends EventDispatcher
{
	public const READY_DATA:String = "ready data";
	public function Model()
	{
		...
	}
}
 
 
///View
import flash.display.Sprite;
 
class Viewer extends Sprite
{
	public function Viewer(model:Model)
	{
		model.addEventListener( Model.READY_DATA, init);
	}
 
	private function init():void
	{
		///start
	}
}

А кто представляет объект снаружи? Контроллер? Ну в данном случае, если напр. мейн захочет обратиться
к вьюеру.

Можно какой то мин. примерчик? Или пруф.

Старый 23.12.2011, 16:44
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от fish_r Посмотреть сообщение
Т.е. как концептуально это выглядит? Примерно так?
Примерно так.

Цитата:
Сообщение от fish_r Посмотреть сообщение
Ну в данном случае, если напр. мейн захочет обратиться к вьюеру.
Что он там забыл? Main создал контроллер и ушел на заслуженный отдых. Отец семейства теперь — твой главный контроллер. И он может всегда дотянуться до своей вьюхи. А потом приложение должно перейти в другую стадию. Тот же контроллер создаст новый контроллер, тот в свою очередь полностью возьмет на себя новый этап приложения, создаст новый view и будет с ним работать сам. По окончании просто приберет за собой и сообщит "папе", что все закончено. Главный контроллер будет с нетерпением ждать этого сообщения, чтобы решать, куда идем дальше.

В общих чертах.
__________________
Поймай яблоко 2!

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
По сути, Main - контейнер для вьюшек и инициализатор контроллера.

Старый 24.12.2011, 15:13
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Controller в принципе не должен знать, что такое Main.
Константы имён событий надо объявлять в самих событиях.

Старый 24.12.2011, 23:49
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 7  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от etc Посмотреть сообщение
Controller в принципе не должен знать, что такое Main.
Да, конечно. Это пример написанный наспех. Контроллер может воспринимать Main как просто DOC, но мне все равно не нравится - не должен объект сам себя куда-то добавлять.

Цитата:
Константы имён событий надо объявлять в самих событиях.
Имеется в виду так?

Код AS3:
  [Event( name="some event" type="com.somepack.SomeClass" )]
Мне удобнее традиционным способом - видно перечень констант в панели Outline.

Старый 25.12.2011, 13:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от fish_r Посмотреть сообщение
Да, конечно. Это пример написанный наспех. Контроллер может воспринимать Main как просто DOC, но мне все равно не нравится - не должен объект сам себя куда-то добавлять.
Кто куда кого добавляет? DOC, да, это логичнее.

Цитата:
Сообщение от fish_r Посмотреть сообщение
Имеется в виду так?

Код AS3:
  [Event( name="some event" type="com.somepack.SomeClass" )]
Мне удобнее традиционным способом - видно перечень констант в панели Outline.
И [Event()] тоже, как раз в аутлайне и появится (это в FB во всяком случае). Тигра выше написал, что имелось ввиду.

Старый 26.12.2011, 20:04
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 9  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от etc Посмотреть сообщение
Кто куда кого добавляет?
В примерном коде, у меня, где "точка входа - контроллер" возможны два варианта:
- контроллер получает ссылку на контейнер и добавляет туда вьюер,
- контроллер отдает ссылку на свой вьюер (другому контроллеру, или контейнеру).

Оба варианта мне не нравятся, потому, что контроллер должен иметь дело с сигналами объектов, а не с манипуляцией объектами.

Цитата:
Нет, имеется ввиду определение этих констант в наследнике Event.
Цитата:
И [Event()] тоже, как раз в аутлайне и появится (это в FB во всяком случае). Тигра выше написал, что имелось ввиду.
Создание объекта расширяющего Event, с определением перечня каст. набора событий -
в результате мы получаем возможность подписываться на события инициализируемые другим объектом, даже не находящимся в области видимости подписчика? Это имеется в виду?

Старый 27.12.2011, 01:11
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от fish_r Посмотреть сообщение
В примерном коде, у меня, где "точка входа - контроллер" возможны два варианта:
- контроллер получает ссылку на контейнер и добавляет туда вьюер,
- контроллер отдает ссылку на свой вьюер (другому контроллеру, или контейнеру).

Оба варианта мне не нравятся, потому, что контроллер должен иметь дело с сигналами объектов, а не с манипуляцией объектами.
По мне так контроллер на то и контроллер, чтобы манипулировать.



Цитата:
Сообщение от fish_r Посмотреть сообщение
Создание объекта расширяющего Event, с определением перечня каст. набора событий -
в результате мы получаем возможность подписываться на события инициализируемые другим объектом, даже не находящимся в области видимости подписчика? Это имеется в виду?
Нет, имелась ввиду лишь первая часть про создание кастомного события. Остальная часть за гранью понимания.

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

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

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


 


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


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