Показать сообщение отдельно
Старый 12.07.2011, 12:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 20  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от goodguy Посмотреть сообщение
etc, а в что, действительно, плохого в использовании статической ссылки на stage?
А зачем она? Какой смысл делать stage доступным всем и вся? Надо подписаться события — подпишись после ADDED_TO_STAGE, сохрани локальную ссылку, чтобы потом отписаться, занули и тебя соберет GC. Если это клавиатурный менеджер — передай линк на Stage извне. Меньше связанности, меньше свободного доступа к чему-либо — всё это располагает к неограниченной расширяемости и возможности распиливания проекта на отдельные части, безболезненной замены одной на другую. Это всё та же концепция черного ящика, который замкнут внутри себя и работает внутри себя, не распуская руки туда, куда не нужно. Если ему что-то нужно для работы — это всё должно прийти снаружи. Я уже не говорю про отсутствие конфликтов кода при разработке проекта несколькими людьми, при условии, что они соблюдают концепцию, конечно.

Если завтра придёт очередной джуниор и подпишется в трехстах местах на этот самый статический stage в каком-нибудь вьювере, даже ещё не добавленном на сцену, насоздаёт этих вьюверов «про запас», убирать за ним желания никакого. Лучше он спросит, как сделать правильно, просто уперевшись в отсутствие доступа. И потом будет делать всё правильно.

Статический stage, банально, тащит за собой класс-холдер, а он в свою очередь тащит ещё всякой дребедени за собой.