ActionScript - следует ли избегать отправки / прослушивания событий, где это возможно? - PullRequest
1 голос
/ 24 декабря 2010

недавно , я столкнулся с проблемой, когда мне нужно было получить доступ к объекту List из класса пользовательских ячеек визуализации List.

было 2 варианта:

  1. прослушивает и отправляет пользовательское событие для связи между двумя классами.
  2. ссылается на список из класса средства визуализации ячеек со свойством parent: List (parent.parent.parent)

, хотя второй вариант гораздо проще выбрать, я чувствую, что диспетчеризация и прослушивание пользовательского события приведет к тому, что код будет в большей степени соответствовать дизайну AVM2, предлагает больший контроль над связью и, поскольку оножидаемый AS3 должен быть менее трудным для отладки или обслуживания в новых руках.

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

это просто вопрос потребностей или вкуса?следует ли избегать отправки / прослушивания пользовательских событий, если они могут быть?

Ответы [ 2 ]

1 голос
/ 24 декабря 2010

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

Хотя я не полностью против слушателей событий, если вы используете их, вы должны попытаться использовать их максимально самодокументируемым и простым способом. Если у вас есть умные вещи, такие как добавление / удаление слушателей событий, и это идет не так, то отладка может быть кошмаром, потому что вы не видите, что собирается делать dispatchEvent.

Если owner даст вам нужный объект, то я бы сам пошел с этим.

1 голос
/ 24 декабря 2010

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

В связи с этим я не уверен, почему вы считаете, что приложение, управляемое событиями, будет сложнее отлаживать и поддерживать.Казалось бы, все наоборот, но это, конечно, зависит от того, как реализуется диспетчеризация событий в приложении.Но, сказав это и перечитав ваш вопрос, я понимаю, что вы, кажется, противоречите себе!Конечно, я склонен согласиться с первым утверждением.

...offers greater control for communication and, as it's expected AS3, 
should be less difficult to debug or maintain... 

...perhaps making it more difficult to debug and maintain and 
could be generally overkill.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...