Показать сообщение отдельно
Старый 16.03.2013, 12:28
yasha005 вне форума Посмотреть профиль Отправить личное сообщение для yasha005 Найти все сообщения от yasha005
  № 9  
Ответить с цитированием
yasha005

Регистрация: Dec 2012
Сообщений: 100
Я бы рекомендовал шаблон одиночку: удобно тем что всегда если надо можно расширить и вызывать из любого места программы

Реализация одиночки для вашего массива
Код AS3:
package
{
	public class Singleton implements ISingleton
	{
		// Реализация шаблоная одиночки
		private static var _instance:ISingleton;
 
		private var myarray:Array;
 
		public function Singleton(pvt:PrivateClass)
		{
			this.myarray = new Array();
		}
 
		public static function get Instance():ISingleton
		{
			if (Singleton._instance == null)
			{
				Singleton._instance = new Singleton(new PrivateClass());
			}
			return Singleton._instance;
		}
 
		// Добавляет новый элемент в массив
		public function set addElement(element:*):void
		{
			this.myarray.push(element);
		}
 
		// Удаляет элемент из массива
		public function set removeElement(element:*):void
		{
			this.myarray.splice(this.myarray.indexOf(element),1);
		}
 
		// Возвращает массив элементов
		public function get returnMyArray():Array
		{
			return this.myarray; 
		}
 
	} // Конец класса
} // Конец пакета
 
class PrivateClass
{	
	public function PrivateClass()
	{
	}	
}

Интерфейсичек для удобства (или для последующего расширеня):
Код AS3:
package
{
	public interface ISingleton
	{
		function set addElement(element:*):void;
		function set removeElement(element:*):void
		function get returnMyArray():Array
	}
}

И далее для доступа к этому массиву во всех необходимых классах прописываете нижеследующую реализацию:
Код AS3:
package
{
	public class Client
	{
		public function Client()
		{
			var singleton:ISingleton = Singleton.Instance;
			// Добавление в массив элемента
			singleton.addElement = 'Новый элемент массива';
			// Удаляет элемент из массива
			singleton.removeElement = 'Новый элемент массива';
			// Возврат получившегося массива
			singleton.returnMyArray;
		}
	}
}