- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
package com.db.prds.modules.application.presenter.commands
{
import ***.modules.application.presenter.ApplicationPresenter;
import ***.modules.application.presenter.IApplicationPresenter;
public class GoAboutCommand extends MainMenuCommand
{
public function GoAboutCommand (appPresenter : IApplicationPresenter)
{
super(appPresenter);
}
override public function execute () : void
{
this.appView.showModuleView(ApplicationPresenter(this.appPresenter).aboutPresenter.view);
super.execute();
}
}
}
а ваши разве пасутся на гк? сомневаюсь
Непонятно только, зачем он в языках, в котором функции являются объектами первого рода. Достаточно, наверное, замыкания
Замыкания - да вы шо, нини, на каждый чих по классу.
yyy: А вдруг мы захотим портировать нашу систему на яву? Поэтому замыкания использовать нельзя.
xxx: *facepalm*
см. http://govnokod.ru/11321
В оригинальном вирто-паскале нельзя.
И самое интересное начинается при использовании команд в комплекте с RemoteObject - это такой класс, который отвечает за рассылку запросов по HTTP+AMF. так вот, грубо говоря, new RemoteObject.send(whatever) возвращает токен уникальный для этого запроса (по которому потом можно идентифицировать ответ). Изза того, что command.execute() ничего не возврщает, а токен этот очень нужен, в каждом проекте, где это используется начинаются всяческие попытки допилить архитектуру так, чтобы этот токен как-то все таки получать. При чем, обычно, осознание того, что токен нужен приходит очень поздно.
Замыкания в AS3 - плохо т.как они всегда создаются по-новой, т.е. не считаются константами. У них this такой же, как и у Яваскриптовых функций - и это чревато проблемами безопасности, когда "чужую" функцию применяют к "своему" объекту. Кроме того, очень часто их пытаются использовать для обработки событий, т.как полноценный обработчик писать лень - но впоследствии обнаруживается, что отписать анонимную функцию от события уже нельзя, если ссылка на нее потерялась.