![]() |
Композиция как оно лучше?
Здравствуйте уважаемые.
Интересует такой вопрос: Есть группа объектов которая в protected static хранит ссылку на некий класс созданный для выполнения ряда операций (назовем его "работяга"). Каждый объект хранится в своей fla. На сколько я понимаю после компиляции "работяга" должен присутствовать в каждой swf. Помнится когда в класс импортируется некий класс, то при компиляции осуществляется проверка на наличие используемых переменных и методов в коде. Если большинство объектов содержит "работягу" на сколько разумно все делать через композицию? Я так понимаю что для protected при компиляции в swf попадет только тот набор действий который используется в работяге для текущего объекта. И так после компиляции каждый swf содержит своего "работягу". Но это подразумевает что при изменении механизма самого "работяги" надо каждый раз делать компиляцию всех объектов его использующих? Или static ссылка также хранит только вызываемые в этом объекте свойства и методы для "работяги", а значит перекомпилировать надо будет только те элементы которые пользуют конструктор "работяги"? У меня сейчас проект в котором делаю некоторое подобие компонентов(знаю изобретение велосипеда, но собирая свой велосипед можно набить не одну шишку и набраться опыта). Все они работают с классом который отвечает за работу со свойствами этих компонентов. Если я буду в дальнейшем модифицировать своего работягу(добавлять новые методы, или оптимизировать существующие без модификации самого API) что придется каждый раз все компоненты перекомпилировать? |
Если в applicationDomain содержится класс "работяга" и swf-ки грузятся в тот же applicationDomain, то при конфликте, класс в основном приложении не будет затерт вновь подгруженным. Следовательно, ссылка в компоненте на класс "работяга" укажет на класс в основном приложении.
Ответ. Перекомпиляция всех компонент не нужна. Еще бы сделать для "работяги" exclude class во всех компонентах. Могу ошибаться, не пробовал. |
Цитата:
Цитата:
|
Указание компилятору не вкомпиливать класс в swf|swc
|
dimarik, это в АС2 он будет затёрт. в АС3 наоборот всё.
Добавлено через 2 минуты по крайней мере у меня так. класс в родительской СВф не преписывается, а в дочерней берётся родительский. |
Тогда в компонентах делать exclude и getDefinitionByName в конструкторе, чтобы инициализировать статик-свойство.
Кстати, зачем protected static? В ас3 вроде не наследуются статичные члены. |
Что такое exclude class?
Во Flash CS4 что то не попадалось такое на глаза. Фишка от Flex? BlooDHounDчто то не очень врубился в ваш метод. |
Цитата:
|
SunShadow, я никакого метода и не описывал.
Добавлено через 2 минуты в АС3 можно делать так называемые External Library. они же exclude classes. это swc, классы который не в компилируются в СВФ. вкопиливаются только сигнатуры. |
А вот теперь стало понятно)
|
| Часовой пояс GMT +4, время: 06:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.