![]() |
Есть ли альтернатива свойству _global
Все переменные, находящиеся в символах(клипах) недоступны для основного ролика - приходится писать свойство _global - но если разных переменных очень много...
есть ли другой выход? Также хочу спросить насчет текстовых полей в которых отображается какая-либо изменяющаяся переменная - если это текстовое поле в символе, а переменная на основном ролике, то в нем тоже нифига не отображается:confused: Объясните плиз!:) |
Может надо изменить уже подход и писать на АС2 (я уж не говорю про АС3) или хотя бы весь код в одном кадре основной линейки?
Всетаки 21-й век... |
Цитата:
|
попробуйте разобраться с видимостью переменных, пользовать _global без особой нужды вообще нехорошо, даже _root лучше не использовать... разберитесь с относительными переменными.
|
Цитата:
объясните плиз на примере: есть некая переменная variable1 ее значение задается в основном ролике - в root есть некий символ - внутри него - текстовое поле textarea1, отображающее значение этой variable1 дак что конкретно сделать, чтобы отображалось значение переменной?? |
1) Почему код отображения значения так необходимо вынести в мувик? Что мешает это делать в кадре основной шкалы? (нечто вроде mc.txt.text = this.variable1)
2) Если Вы уверены, что значения переменных должно быть доступно из любого места приложения, то хотя бы сгруппируйте их в виде объектов на _root или классов с набором статических свойств либо классов-синглтонов (вариант с классами предпочтительнее, в принципе). |
Цитата:
|
Цитата:
Кстати, Мук тоже не советует превращать синглтон в хранилище глобальных переменных. От себя добавлю, что ООП как раз и для того и задумывалось, чтобы избегать подобных процедурных решений. |
Фаулер в одной из книг (Архитектура корпоративных программных приложений) для шаблона Registry (Реестр) в случае однопоточных приложений он рекумендует имеено его:) Я не сторонник такого подхода (Фаулер тоже, но причины его периодического использования описывает), но не из-за синглетона, а из-за того, что считаю создание объекта-реестра в большинстве случаев неудачным элементом архитектуры. Поэтому как один из допустимых подходов я его упоминаю все-таки.
|
И в чем же оно неудачно? =)
|
Собстно, как раз
а) из-за доступности содержимого всем кому не лень б) необходимости частого изменения и раздувании кода класса для большой системы |
в чем же решение?
вместо _global можно использовать _lvel0, т.к. можно указать типы переменных, что уже лучше. держать переменные в отдельном объекте, что уже рекомендовали. доступность (переменных) "всем кому не лень" - имхо, переоценивают такую возможность, чаще это полезно там где уже фантазия программиста исчерпалась в плане создания уникальных имен, и он ненароком напишет имя, которое используется в другом месте, чем осложнит себе жизнь. есть какие-нибудь "глобальные" рекомендации? вопрос к программерам с образованием. поправте и убедите, плз. |
Параметризируйте объекты при создании. Изменяйте объекты согласно изменившимся условиям посредством вызова их методов и передачей в них новых параметров. Использование глобальных переменных способствует увеличению coupling и уменьшает вероятность использования (code reuse) классов в других Ваших проектах.
|
| Часовой пояс GMT +4, время: 21:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.