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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2013, 14:00
yasha005 вне форума Посмотреть профиль Отправить личное сообщение для yasha005 Найти все сообщения от yasha005
  № 11  
Ответить с цитированием
yasha005
[+1 16.03.13]
[+1 22.03.13]

Регистрация: Dec 2012
Сообщений: 100
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Нет никакого смысла в том, чтобы создавать синглтон для простого массива.
Достаточно класса с парой статических методов...
Всё верно, использовать шаблон для одного массива не имеет смысла, если этот массив используется в пределах одного класса.
А судя по тому что автор сабжа хочет сиё реализовать не в одном классе, тогда я вижу в данном случае два решения:
1. Использовать одиночку
2. Использовать вашу реализацию с применением передачи параметра, экземпляра класса SomeClass, посредством ключевого слова this
Лично моё мнение: в первом решении будет заморочек меньше

Старый 16.03.2013, 17:58
Chum вне форума Посмотреть профиль Отправить личное сообщение для Chum Найти все сообщения от Chum
  № 12  
Ответить с цитированием
Chum
[+1 06.03.13]

Регистрация: Feb 2007
Сообщений: 174
Спасибо за ответы. Буду разбираться.
Что касается массива, то в моём случае он трёхмерный, а вообще может вырасти до 4-хмерного.

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Что касается массива, то в моём случае он трёхмерный, а вообще может вырасти до 4-хмерного.
Не имеет значения.
Хотя таких вещей лучше избегать. Очень уж сложно будет потом поддерживать этот код.
Архитектуру лучше заранее пересмотреть, иначе будет не понятно что, в какой массив, и в какой момент времени попадает. И как потом нужное оттуда извлечь.
Цитата:
Всё верно, использовать шаблон для одного массива не имеет смысла, если этот массив используется в пределах одного класса.
Не понял как конструкция со статическими методами этому противоречит

Старый 16.03.2013, 19:10
Chum вне форума Посмотреть профиль Отправить личное сообщение для Chum Найти все сообщения от Chum
  № 14  
Ответить с цитированием
Chum
[+1 06.03.13]

Регистрация: Feb 2007
Сообщений: 174
Массив о котором я упомянул, строго структурирован, никакой мешанины. Тема использования массивов или использования контейнеров, или их совместное использование, мне самому интересна и я хотел бы вернуться к ней на примере того упражнения которое я делаю сейчас.

Добавлено через 41 час 35 минут
Хочу предложить решение вопроса поставленного в данной теме, и услышать ваше мнение по данному поводу. Возможно это решение в том или ином виде разработано и существует, но для меня оно новое.
Напомню: есть базовый класс Razdel, есть классы расширяющие его RazdelA, RazdelB, RazdelC и RazdelUpravlenie.
В процессе работы, экземплярами данных классов-потомков используется и постоянно изменяется некая единая структура данных заложенная в массив strukt.
Суть проблемы: указанная структура изменяется в процессе работы внутри экземпляров разных классов и всякий раз при использовании её в другом экземпляре возникает потребность видеть её уже изменённой.
Экземпляры классов RazdelA, RazdelB, RazdelC создаются в классе RazdelUpravlinie.
Вот мой способ решения:
Часть кода в базовом классе Razdel:
Код AS3:
private var  _razdA:RazdelA;
private var  _razdB:RazdelB;
private var  _razdC:RazdelC;
private var  _razdU:RazdelUpravlinie;
protected var strukt:Array;
 
/* Далее в коде этого класса идут определения public сетеров и гетеров для этих переменных.  */
/* И объявляется метод: */
public function izmenenieDannyh():void {
	_razdA.strukt = this.strukt;
	_razdB.strukt = this.strukt;
	_razdC.strukt = this.strukt;
	_razdU.strukt = this.strukt;
}
В классе RazdelUpravlenie (где создаются экземпляры классов RazdelA, RazdelB, RazdelC):

Код AS3:
addChild(razdA = new RazdelA());
addChild(razdB = new RazdelB());
addChild(razdC = new RazdelC());
var arr:Array = [this, razdA, razdB, razdC];
for(var i:int = 0; i < arr.length; i++){
    arr[i].razdelU = arr[0];
	arr[i].razdelA = arr[1];
	arr[i].razdelB = arr[2];
	arr[i].razdelC = arr[3];
}
Далее в коде классов RazdelA, RazdelB, RazdelC и RazdelUpravlenie, в том месте где происходит всякое изменение массива strukt, в коде следующей строкой вызываем функцию:

Код AS3:
this.izmenenieDannyh();
Если кто-то осилил прочитать это до конца и понять суть моих мыслей - выскажите плиз своё мнение.
В настоящее время данный способ только тестируется мною.

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

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

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


 


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


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