![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 16.03.13]
[+1 22.03.13] Регистрация: Dec 2012
Сообщений: 100
|
Цитата:
А судя по тому что автор сабжа хочет сиё реализовать не в одном классе, тогда я вижу в данном случае два решения: 1. Использовать одиночку 2. Использовать вашу реализацию с применением передачи параметра, экземпляра класса SomeClass, посредством ключевого слова this Лично моё мнение: в первом решении будет заморочек меньше |
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
Спасибо за ответы. Буду разбираться.
Что касается массива, то в моём случае он трёхмерный, а вообще может вырасти до 4-хмерного. |
|
|||||
|
Цитата:
Хотя таких вещей лучше избегать. Очень уж сложно будет потом поддерживать этот код. Архитектуру лучше заранее пересмотреть, иначе будет не понятно что, в какой массив, и в какой момент времени попадает. И как потом нужное оттуда извлечь. Цитата:
|
|
|||||
|
[+1 06.03.13]
Регистрация: Feb 2007
Сообщений: 174
|
Массив о котором я упомянул, строго структурирован, никакой мешанины. Тема использования массивов или использования контейнеров, или их совместное использование, мне самому интересна и я хотел бы вернуться к ней на примере того упражнения которое я делаю сейчас.
Добавлено через 41 час 35 минут Хочу предложить решение вопроса поставленного в данной теме, и услышать ваше мнение по данному поводу. Возможно это решение в том или ином виде разработано и существует, но для меня оно новое. Напомню: есть базовый класс Razdel, есть классы расширяющие его RazdelA, RazdelB, RazdelC и RazdelUpravlenie. В процессе работы, экземплярами данных классов-потомков используется и постоянно изменяется некая единая структура данных заложенная в массив strukt. Суть проблемы: указанная структура изменяется в процессе работы внутри экземпляров разных классов и всякий раз при использовании её в другом экземпляре возникает потребность видеть её уже изменённой. Экземпляры классов RazdelA, RazdelB, RazdelC создаются в классе RazdelUpravlinie. Вот мой способ решения: Часть кода в базовом классе Razdel: 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; } 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]; } Если кто-то осилил прочитать это до конца и понять суть моих мыслей - выскажите плиз своё мнение. В настоящее время данный способ только тестируется мною. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|