Показать сообщение отдельно
Старый 26.07.2013, 23:24
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 4  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Цитата:
то есть, во всем приложении создаться только один экземпляр этого класса и при последующих обращениях\внедрениях экземпляров уже создаваться не будет? Как бы оператора new уже не будет?
Да. Это называется синглтон. Есть такой шаблон проектирования.

Цитата:
И поправьте меня если я ошибаюсь:
Ошибаетесь. Не по запуску класса Context, а при создании класса MyClass. И в момент инъекцкии переменной _yourClass будет происвоен экземпляр класса YourClass, который мы передали здесь:
Код AS3:
injector.map(YourClass).toValue(new SomeValue);
Или так:
Код AS3:
// Создаем некий класс и меняем его состояние:
var some:YourClass = new YourClass();
some.someVar = 1234;
some.someAction();
// Указываем, что при запросе YourClass отдавать экземпляр some.
injector.map(YourClass).toValue(some);
Код AS3:
package  
{
	public class MyClass 
	{
		[Inject]
		public var yourClass:YourClass;
 
		public function MyClass() 
		{
 
		}
 
		overide public function initialize():void
		{
			trace(yourClass.someVar); // Выведет 1234
		}
	}
}
P.S. Может вам стоить изучить RL1. По нему книги есть и уроки. А потом уже перейти на RL2? Могу книжечку продать если знаете английский.

Добавлено через 9 минут
Цитата:
injector.map(YourClass).toSingleton(IYourClass);
при обращении к классу YourClass будет всегда возвращать один и тот же экземпляр IYourClass
Нет. IYourClass не класс, а интерфейс. Поменяйте класс и интерфейс местами.

Пример:
Код AS3:
injector.map(IGalleryImageService).toSingleton(FlickrImageService);
При запросе IGalleryImageService будет возвращаться FlickrImageService;