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

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

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Все мои менеджеры в последнем проекте лежат в одном синглтоне. Есть друг, который говорит: "Если в проекте появились класс с названием manager, значит что-то пошло не так", но не обосновал.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Цитата:
При протягивании ссылок НЕ получится использовать промежуточный класс без тех, которые он протягивает,
или получится - но типизация пойдёт лесом.
Можете объяснить, что Вы этим сказать хотите?
__________________
ranga

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
В баблинге промежуточный класс ничего не знает о типах событий.
Это мешает ему подписаться на это событие?
Цитата:
При протягивании ссылок НЕ получится использовать промежуточный класс без тех, которые он протягивает,
или получится - но типизация пойдёт лесом.
Как можно протянуть ссылку в ущерб типизации?
Первую часть фразы тоже присоединяюсь к вопросу.
Цитата:
что за "пул"?
Object pool. Лужа объектов. Меня mayakwd недавно по этой теме красочно просвящал. (Передаю ему привет!)

Старый 24.02.2011, 20:37
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 14  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Теперь, кажется понял фразу
Цитата:
"инстантциация происходит в конструкторе/тянется из пула"
Думал, может какой другой пул, а тут речь о том что не важно, создается ли из пула или с помощью new (правильно?)

Цитата:
Как можно протянуть ссылку в ущерб типизации?
Я этот подход не использую, за исключением передачи параметров из лоадера во флешку - там все одним динамическим объектом передается и промежуточные ничего не знают о его структуре.

Но это могло бы выглядеть так:
Код AS3:
class ServiceClient {
    var _service:Service;
 
    public function new ServiceClient(serviceContainer:Object):void
    {
          _service = (serviceContainer as IServiceContainer).service;
    }
}
 
public class ServiceClientOwner {// Вот этот класс ничего не знает о IServiceContiner, правда он завязан на ServiceClient, но сейчас речь не об этом
 
    public function ServiceClientOwner(servieContainer:Objесt)
    {
          _serviceClient = new ServiceClient(serviceContainer);
    }
}
Цитата:
Цитата:
В баблинге промежуточный класс ничего не знает о типах событий.

Это мешает ему подписаться на это событие?
Нет, но если он не подписался - класс можно использовать без передаваемого им класса события

Например, через визуальный список рендереров может проходить куча разнотипных событий рендереров, но это не мешает вынести его в библиотеку без этих конкретных классов событий.


Последний раз редактировалось expl; 24.02.2011 в 20:49.
Старый 24.02.2011, 20:57
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 15  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Цитата:
(правильно?)
Правильно.

Я вот тебя вообще не понимаю.
Класс не знает ни о каком IServiceClient (вообще ситуация из ряда вон) и поэтому типа подход плохой. Ну, а если он не знает о SingletoneClient? В этом случае вообще хана.

Цитата:
Нет, но если он не подписался - класс можно использовать без передаваемого им класса события
Все события наследуются от Event`а. Можно подписаться на любое событие, сузив объект события от CustomEvent до Event.


Вообще менеджер на каком-то уровне глобальная вещь. И если для работы не всегда есть конкретный класс этого менеджера — то блин, надо как-то постараться и заиметь интерфейс, что менеджер реализует. Иначе зачем этот менеджер туда передавать вообще?

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Класс не знает ни о каком IServiceClient (вообще ситуация из ряда вон) и поэтому типа подход плохой
Наоборот хорошо, что ServiceClientOwner, которому не нужен IService о нём не знает. Плохо, что приводить типы в ServiceClient надо

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Понятие "знает" это импорт класса?

Старый 24.02.2011, 21:48
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 18  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Можно и так сказать
Согласись, если класс импортирует какой-нибудь специфичный игровой менеджер - в библиотеку этот класс не вынесешь, даже если он с ним ничего не делает

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Я если честно вообще не вижу проблем в "лишнем" импорте класса. Ну болтается и болтается, я туда вообще не смотрю.
А про вынос - интерфейса хватит. Если вообще на то пошло, то можно предоставить геттер на нужный объект, который будет содержать сеттер на нужный менеджер.

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

блогер
Регистрация: Sep 2008
Адрес: Менск
Сообщений: 586
Записей в блоге: 1
Отправить сообщение для incvizitor с помощью Skype™
Цитата:
Согласись, если класс импортирует какой-нибудь специфичный игровой менеджер - в библиотеку этот класс не вынесешь, даже если он с ним ничего не делает
Код AS3:
import IManager;
public class Client{
 
        _manager:IManager;
 
        pubilc function Client(manager:IManager){
                  _manager=manager;
        }
}
Делаем вот так:

Код AS3:
public class ManagerA implements IManager{
}
Или вот так:

Код AS3:
public class ManagerC{
}
Код AS3:
public class DelegateManagerC implements IManager{
        private var _targer:ManagerC;
}
__________________
ranga

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

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

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


 


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


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