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

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

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

Регистрация: Sep 2012
Сообщений: 26
По умолчанию интерфейс IView для контроллера

Делаю прилагу в которой вьюха будет подгружаться внешней библиотекой. Для разработчиков гуи я собираюсь предоставить интерфейс, в который заложу требования к представлению. Как лучше задекларировать в интерфейсе события, на которые будет подписан мой контроллер?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
http://stackoverflow.com/questions/1...nitions-than-a
__________________
Ко мне можно и нужно обращаться на ты)

Старый 04.06.2014, 12:53
Unkeep вне форума Посмотреть профиль Отправить личное сообщение для Unkeep Найти все сообщения от Unkeep
  № 3  
Ответить с цитированием
Unkeep
 
Аватар для Unkeep

Регистрация: Sep 2012
Сообщений: 26
на сколько я понимаю это не хорошая практика. А что если предоставлять не интерфейс, а абстрактный класс с приблизительно таким содержанием:
AbstractView.as
Код AS3:
//call this function to notify that selection changed
final protected function SelectionChanged(currSelection:String):void
{
_d.OnSelectionChanged(currSelection);
}

Старый 04.06.2014, 12:59
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 4  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
По мне так лучше интерфейс. На какие события подписываться ведь можно и просто в комментах указать
__________________
Ко мне можно и нужно обращаться на ты)

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

Регистрация: Sep 2012
Сообщений: 26
а интерфейс упаковывать в swc?
не возникнет ли каких-то проблем если swf контроллера включает интерфейс, и подгружает ещё gui.swf который тоже включает этот-же интерфейс?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Возникают, если их не перевести в один applicationDomain при загрузке
__________________
Ко мне можно и нужно обращаться на ты)

Старый 04.06.2014, 15:46
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 7  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А использовать для рассылки из Вашего компонента только кастомный класс событий ViewEvent — не будет достаточно? Все будет регламентировано и события будут описаны в одном классе и документации к нему.
"Заставить" физически всё-равно невозможно — даже в собственных классах языка нет ничего подобного, никто Вас не одёрнет, если Вы подпишитесь на события от экземпляра класса, который их в принципе не может рассылать (на CLICK по Shape, например). Потому что рассылает события наследуемый EventDispatcher, и кодом его можно заставить отправлять любые события насильно. Нет никакой возможности гарантировать только определенный набор событий. Но можно конкретизировать их отдельным классом, намекая что подписываться надо только на них)))
__________________
Reality.getBounds(this);

Старый 04.06.2014, 18:36
Unkeep вне форума Посмотреть профиль Отправить личное сообщение для Unkeep Найти все сообщения от Unkeep
  № 8  
Ответить с цитированием
Unkeep
 
Аватар для Unkeep

Регистрация: Sep 2012
Сообщений: 26
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Возникают, если их не перевести в один applicationDomain при загрузке
правильно ли я понимаю, что если рантайм загружать множество библиотек в один домен(applicationDomain), общий их класс загрузится только один раз?

Добавлено через 19 минут
Цитата:
Сообщение от Wolsh Посмотреть сообщение
А использовать для рассылки из Вашего компонента только кастомный класс событий ViewEvent — не будет достаточно? Все будет регламентировано и события будут описаны в одном классе и документации к нему.
"Заставить" физически всё-равно невозможно — даже в собственных классах языка нет ничего подобного, никто Вас не одёрнет, если Вы подпишитесь на события от экземпляра класса, который их в принципе не может рассылать (на CLICK по Shape, например). Потому что рассылает события наследуемый EventDispatcher, и кодом его можно заставить отправлять любые события насильно. Нет никакой возможности гарантировать только определенный набор событий. Но можно конкретизировать их отдельным классом, намекая что подписываться надо только на них)))
ну то, что нельзя через интерфейс заставить реализацию оповещать о каких-то своих событиях - это само собой понятно. Мне лишь достаточно задекларировать те, которые меня интересуют(на которые я подписан и собираюсь обрабатывать). А оповестит или нет, проблема разработчика гуи, потому что если я не получу это событие , программа всё равно будет работать правильно, только не будет знать о "хотелках" конечного пользователя


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

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

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


 


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


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