Есть ли в AS 3 декораторы / макросы / аннотации? - PullRequest
0 голосов
/ 10 июня 2009

Я ищу эквивалент Python-декораторов / макросов Lisp / Java-аннотаций (да, я знаю, что они не обязательно сами по себе эквивалентны) в Actionscript. Инструменты, которые предоставляют аналогичные функции, также были бы хороши (я использую плагин Flex Builder для Eclipse в Linux).

Я пишу приложение Flex и вот что я хочу сделать:

Я инкапсулировал различные наборы удаленных функций в отдельных классах (это иногда называют «шлюзами обмена сообщениями» или «Удаленные прокси»), где каждый метод отражает метод на сервере, например:

class UserManagementService extends MyHttpService {
  //...
  private final _urlBase:String = "http://example.com/services/users"
  //...

  public function usrGet(ix:int):User
  {
     url = urlBase + "/get";
     mp:Dictionary = new Dictionary();
     mp["ix"] = ix;
     result:User = this._service.varSend(url, this.sEncodeParams(mp), Class("User"));
     return result;
  }
  //...
}

Поскольку параметры и тип возврата удаленной функции уже есть в объявлении функции, было бы неплохо просто добавить суффикс URL, например так (псевдокод, вдохновленный Python):

@remotify("/get")
public function usrGet(ix:int):User { }

Теперь, разве это не было бы здорово? ; -)

1 Ответ

6 голосов
/ 10 июня 2009

Вы можете добавить так называемые «метаданные» в ActionScript следующим образом:

[Remotify(prop="value")]

Больше информации здесь:

http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=11907

...