![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2011
Адрес: http://jai.ng7.ru http://kuponid.ru
Сообщений: 49
|
Я обычно в массивы пихаю все динамические объекты, если на то пошло. А тот обрубок кода я записал на памятку, чтоб если вдруг что, знал где искать, ну или следующему поколению новичков.
Цель выполнена, так что тему можно считать закрытой, всем спасибо! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Если "обрубок кода" это target.parent.removeChild(target); то лучше бы вам вообще навсегда удалить это из памяти, и уж ни в коем случае не передавать это новичкам.
Примерно об этом вам 2 страницы комментариев написали. Если всё впустую, то да, можно закрывать тему. Добавлено через 7 часов 9 минут Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
[+4 06.05.14]
|
Wolsh , а мне вот интересно твое мнение как раз, вот в таком случае :
Есть статик класс с набором эффектов , каждый эффект один независимый метод, эффект работает на основе битмапДаты public static function flashEffect(source isplayObject , ...rest):voidв методе происходит следующее, зарисовывается соурс в битмапу , происходят всякие манипуляции и т.п. в итоге создается эффект, но чтобы эффект получился сначала надо скрыть соурс, затем показать куски битмапы, а по заверешнию эффекта их удалить. Тоесть в коде будет например следующее В данном контексте ты бы как делал, или здесь это логично?
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Здесь никто не управляет своим родителем, а ссылка на контейнер нужна в любом случае, так что все логично. Единственно, я бы не чайлдил битмапы прямо в контейнер сёрса, а сделал им свой спрайтик.
Вобщем это совсем другая ситуация) Здесь не ребенок говорит родителю, что делать, а некий... воспитатель))
__________________
Reality.getBounds(this); |
|
|||||
|
Смысл запрета на управление родителем заключается, на мой взгляд:
1. Вы теряете контроль за состоянием родителя в любой момент времени. Если чилд один - то вроде бы нет проблем, а если их 1000 и более? 2. Создает проблемы при повторном использовании таких чилдов в другой программе. А что если в новой среде требуется контроль за такими объектами со стороны парента? А что если это вообще не ваш парент, то есть кто-то пользуется вашим объектом (напр. в командной разработке)? Переписать можно? Иногда это просто, а иногда проще заново написать... Поэтому в вашем случае я бы манипулировал объектами из под парента. Т.е. он отдает ДО в обработку, получает и распоряжается результатами работы. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вообще эта метафора с родителями и детьми не всегда способна хорошо отразить происходящее.
Мне нравится другая – мастер и инструменты. Она не отражает момент создания, но хорошо описывает отношения. Когда "родитель" создает экземпляры, какие-то объекты, он знает, зачем он это делает. Они – инструменты для достижения каких-то целей, выполнения известных мастеру задач. Мастер берет инструмент и что-то с его помощью делает (например, заменяет курсор на свой кастомный). Если мы в такой ситуации добавим инструменту логику, например реагировать на разные типы объектов, оказывающихся под курсором, нам придется построить целую машину общения курсора с окружающим миром. При этом у нас не будет никакого контроля за его поведением, и рано или поздно мы столкнемся с тем, что не можем запретить курсору меняться над объектами определенного типа, если они также соответствуют какому-то условию. Все разнообразие мира придется добавлять и добавлять в курсор, и в какой-то момент окажется, что курсор обрабатывает больше информации, чем все остальное приложение. Здесь речь не об абстрактной логике – инструмент может быть "умнее" мастера, это нормально (пример: компьютер и оператор). Речь об областях ответственности, о видении картины в целом, знании задачи, "смысла" приложения. Приложение владеет точным знанием всех ситуаций, когда, зачем и на какой вид курсору меняться. Курсор должен только уметь это делать. Он не должен думать, это не его сфера ответственности. Инструмент должен уметь думать только над решением поставленной задачи, иначе нас ждут терминаторы и восстание сайлонов.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: May 2011
Адрес: http://jai.ng7.ru http://kuponid.ru
Сообщений: 49
|
Цитата:
Я спросил пример, мне его дали да ещё и пояснили, +10 очков опыта. То что я не дал обратной связи не всегда говорит о непонимании. Так что Wolsh, можете не переживать, Ваши потуги я принял к сведению. Но и ещё на будущее, любое словесное сообщение пустой звон, если в нём нет практики, в данном случае примера. Слова у двух человек могут иметь разные значения! Истину приносит только пример/практика/опыт... PS: Американские программисты никак не могут понять, почему русские при зависании Windows всё время повторяют фразу "Твой кролик написАл" (Your Bunny Wrote) Последний раз редактировалось chuvak2008f; 11.02.2012 в 14:26. |
|
|||||
|
Хамить не надо. В приведенной вами цитате говорится о вполне конкретных, а не об абстрактных вещах (или я не знаю, что в вашем понимании "философия"). Правильность кода определяется теоретической грамотностью программиста, а прогибание конструкции под "конкретную ситуацию" заканчивается бажными, не поддерживаемыми, не расширяемыми результатами. Коих хватает и без вашего гениального творения.
"Соккетный форум" - говорите? Ха... Добавлено через 8 минут write(n/r). Последний раз редактировалось fish_r; 11.02.2012 в 14:37. |
|
|||||
|
Регистрация: May 2011
Адрес: http://jai.ng7.ru http://kuponid.ru
Сообщений: 49
|
Цитата:
Цитата:
Wrote/Write полистайте анг словарь. Сообщение я написал с любовью. А то что Вы сударь fish_r начали придираться к словам это уже от лукавого. fish_r и другие, если Вы обладаете истиной в первой и последней инстанции по поводу темы данной дискуссии, а именно панацеи обращения к объектам а так же их удаления, прошу сообщения свои подтверждать кодом |
|
|||||
|
Цитата:
Цитата:
Вообще говоря, и сообщение-то я не вам написал... |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|