Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2011, 21:45
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 11  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Опасно.
Когда работаешь с событиями, всегда известно, кто тебе отправил событие.
Когда ты раздал ссылку на объект кому попало, не всегда известно, кто именно дернул его методы.
Сугубо имхо.

Старый 06.05.2011, 21:56
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 12  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Ещё можно передавать в конструктор super.
Код AS3:
new MyClass(super);
Но как-то не читабельно.
Код AS3:
new Man(super);
уже неплохо. Но шутками не надо увлекаться.

Если чуть серьезней - то передавать в конструктор this можно. И в этом нет ничего плохого. Но нужно чтобы в приложении была логически четкая иерархия. Мне вот кажется, что парню с именем GlavniiKlass как-то вообще "приказывать" нелогично. А вот попросить его, например, событием - будет вполне нормально.

Старый 06.05.2011, 23:37
Nemez вне форума Посмотреть профиль Отправить личное сообщение для Nemez Найти все сообщения от Nemez
  № 13  
Ответить с цитированием
Nemez
 
Аватар для Nemez

Регистрация: Jun 2010
Сообщений: 189
Спасибо большое, получил поддержку в дискуссии.

Старый 07.05.2011, 00:03
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 14  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Передавать this... Взять тот же MVC. В этом случае необходимо. Вызов методов родителей - плохая практика. Как правильно заметили, идти на этот шаг нужно осознанно и стараться минимализировать такой подход.

ЗЫ. Котяра, хокку хороша.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 07.05.2011, 00:13
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 15  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
А вот вызов методов друг друга таким образом как в примере - это, конечно, жуть. Честно говоря, я не могу себе представить ситуации, когда один объект создает другой и разрешает ему себя напрямую дергать...
В паттерне "посетитель" так и делается (правда, тип посетителя при этом интерфейсом обрезается по максимуму). Говорят очень _часто_ применимый паттерн для обработки структуры данных с разными типами элементов. (Правда сам использовал его один раз и в не совсем подходящем случае - поэтому боле сказать ничего не могу)

Старый 07.05.2011, 00:26
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 16  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Посмотрел...
На первый взгляд - искусственное решение искусственно созданной проблемы
Впрочем, спорить не готов.


Последний раз редактировалось mikhailk; 07.05.2011 в 00:30.
Старый 07.05.2011, 00:47
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 17  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Да я тоже не особо готов спорить

Цитата:
Сообщение от goodguy Посмотреть сообщение
Я часто так делаю. Не вижу ничего дурного.
Допустим есть какой-то большой интерфейс, структуру которого я четко представляю и который не требует особой гибкости. Нужно раскидать все по разным классам для упрощения кода. Вот в такой ситуации я чаще спользую подобные конструкции, чем события.
Да, еще есть паттерн "Медиатор" - там тоже так делают. Впринципе, он делает то же, что подписка на события детей в родителе, но дети больше знают об этом родителе (сцепленность компонентов выше).
Если дети начинают слать кучу событий с параметрами, прося сделать родитель то-то и то-то и чего-то от него ожидая - то, ИМХО, разумнее дать каждому ребенку по ссылке на родителя (можно интерфейсом обрезать, если легче от этого станет) и пусть дергают напрямую.

P.S. На всякий случай, ели юзаешь паттерн - это не значит, что твой код поддерживаемый и расширяемый (Вспомнить хотябы Singleton - куда его GoF только не пихали в своей книге и как он способен осложнить поддержку приложения). Я на паттерны ссылаюсь к тому - что это часто используемые приемы - т.е. народ так делает и часто.


Последний раз редактировалось expl; 07.05.2011 в 00:52.
Старый 07.05.2011, 10:10
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 18  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Если дети начинают слать кучу событий с параметрами, прося сделать родитель то-то и то-то и чего-то от него ожидая - то, ИМХО, разумнее дать каждому ребенку по ссылке на родителя (можно интерфейсом обрезать, если легче от этого станет) и пусть дергают напрямую.
Подозреваю, вопрос личных предпочтений.
Мне психологически дискомфортно, когда какой-либо объект рулит своим родителем.

Единственно, на мой взгляд, дети шлют не события с параметрами. Дети шлют просто события. А уже родитель решает нужны ему какие дополнительные данные от ребенка, или его можно и так обработать.

Старый 07.05.2011, 12:13
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 19  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Подозреваю, вопрос личных предпочтений.
Так и есть.
Цитата:
Когда ты раздал ссылку на объект кому попало, не всегда известно, кто именно дернул его методы.
Согласен. В этом единственное неудобство. Но если уж совсем извратиться, то можно еще в качестве параметра передать и того, кто дернул метод, и проверить в родителе )

Старый 07.05.2011, 12:18
mikhailk вне форума Посмотреть профиль Отправить личное сообщение для mikhailk Найти все сообщения от mikhailk
  № 20  
Ответить с цитированием
mikhailk
 
Аватар для mikhailk

Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
Цитата:
Но если уж совсем извратиться, то можно еще в качестве параметра передать и того, кто дернул метод, и проверить в родителе )
да-да
и обозвать это все паттерном проектирования HappyFamily

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 21:29.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.