Clayton valeu pela dica... Essas classes serão usada com swiz framework,
então há o risco... por isso quero deixar o mais desacoplado possível!




Em 18 de abril de 2013 15:31, Clayton <marquesclayt...@gmail.com> escreveu:

> Se são instâncias diferentes não há problema algum, cada objeto tem seu
> estado individualizado garantindo que o risco mencionado, por você, não
> exista.
>
> Agora, se você está compartilhando uma instância para todo o ciclo de vida
> da aplicação ou um ciclo um pouco mais extenso, seja usando o padrão
> singleton ou não, então o risco existe.
>
> Em 18 de abril de 2013 14:58, Wemerson Couto Guimarães <
> wemerso...@gmail.com> escreveu:
>
> problema aqui que estou com receio é que só queria ajustar a url dentro do
>> send() sobrescrito... são muitos services que vão extender dessa classe...
>>
>>
>> Já pensou se numa fração de segundo entre um       this.url +=
>> getURL("getAll")      e o       return this.send();
>>
>>
>> Uma outra classe de mesma origem execute outra chamada e os valores
>> choquem queria manter tudo dentro do send pra tentar evitar isso?
>>
>>
>>
>> Em 18 de abril de 2013 14:44, Gustavo Martinez <g...@ufrj.br> escreveu:
>>
>> Wemerson,
>>>
>>> Olhando sua classe novamente, vc pretende chamar o send() sempre de
>>> dentro dos services, né?
>>> e vai sempre alimentar a variável this.url, né?
>>>
>>> como todas as funções, as q chamam e o send, estão na mesma classe, e a
>>> variável this.url tb, eu definiria a this.url na chamada andes de chamar o
>>> send() e nem precisa dar override no send();
>>>
>>> public function getAll():AsyncToken{
>>>  this.url += getURL("getAll");
>>>  return this.send();
>>> }
>>>
>>>         protected function getURL(func:String):String {
>>>                 return "/" + this.remoteService + func;
>>>         }
>>>
>>>
>>> *--
>>> Gustavo Martinez*
>>>
>>>
>>> 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com>
>>>
>>>> @Freddy, a dica foi boa; mas infelizmente não dá certo, visto que o
>>>> arguments.callee é referente à função atual e não mostra nada sobre qual
>>>> função anterior.
>>>>
>>>>
>>>> http://stackoverflow.com/questions/4731935/actionscript-obtain-the-name-of-the-current-function
>>>>
>>>> Se pelo menos tivesse como fazer um override inserindo novos parâmetros.
>>>>
>>>>
>>>> @Gustavo, eu queria manter tudo o mais desacoplado possível, sem
>>>> malabarismos... só usando o que fosse nativo mesmo... mas estou analisando
>>>> que a melhor saída é passar o nome nos parameters mesmo...
>>>>
>>>>
>>>>
>>>> Em 18 de abril de 2013 13:40, Fredy Gadotti 
>>>> <fredy.gado...@gmail.com>escreveu:
>>>>
>>>> Se não me engano, os métodos tem uma propriedade especial que não
>>>>> aparece no code complete que se chama "callee", que tem o nome da função
>>>>> que chamou o método corrente.
>>>>>
>>>>> Dá uma pesquisada nisso, que é o caminho das pedras :D
>>>>> hehe
>>>>>
>>>>>
>>>>> 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com>
>>>>>
>>>>>> Não tem como... pra fazer um override de uma função/método a sua
>>>>>> declaração deve ser idêntica à função da classe original, exceto pelo 
>>>>>> termo
>>>>>> "override" é claro!
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Em 18 de abril de 2013 11:59, Gustavo Martinez <g...@ufrj.br>escreveu:
>>>>>>
>>>>>> Wemerson, aconselho passar o nome da função como parâmetro:
>>>>>>>
>>>>>>> override public function send(*functionName*:String,
>>>>>>> parameters:Object=null):AsyncToken{
>>>>>>>
>>>>>>>  this.url += "/" + this.remoteService + *functionName*; // (getAll,
>>>>>>> getById, save, etc...)
>>>>>>>  return super.send(parameters);
>>>>>>>  }
>>>>>>>
>>>>>>> *--
>>>>>>> Gustavo Martinez*
>>>>>>>
>>>>>>>
>>>>>>> 2013/4/18 Wemerson Couto Guimarães <wemerso...@gmail.com>
>>>>>>>
>>>>>>>>  O detalhe é que eu preciso justamente saber o nome do método que
>>>>>>>> originou a chamada, pois ele vai ser usado posteriormente.
>>>>>>>>
>>>>>>>> veja um exemplo com um override.. onde preciso saber qual o
>>>>>>>> método.. :
>>>>>>>>
>>>>>>>> Class ServiceBase extends HTTPService
>>>>>>>> {
>>>>>>>> private var remoteService:String;
>>>>>>>>
>>>>>>>> public function ServiceBase(serviceName:String){
>>>>>>>>  this.remoteService = serviceName;
>>>>>>>> }
>>>>>>>>
>>>>>>>>  override public function send(parameters:Object=null):AsyncToken{
>>>>>>>>
>>>>>>>>  this.url += "/" + this.remoteService + METODO_REMOTO; // (getAll,
>>>>>>>> getById, save, etc...)
>>>>>>>>  return super.send(parameters);
>>>>>>>>  }
>>>>>>>>
>>>>>>>> public function getAll():AsyncToken{
>>>>>>>>  return this.send();
>>>>>>>> }
>>>>>>>>
>>>>>>>> public function getById(id:):AsyncToken{
>>>>>>>> var parameters:Object = new Object();
>>>>>>>>  parameters.id = id;
>>>>>>>> return this.send(parameters);
>>>>>>>>  }
>>>>>>>>
>>>>>>>> public function save(object:*):AsyncToken{
>>>>>>>> return this.send(object);
>>>>>>>>  }
>>>>>>>> }
>>>>>>>>
>>>>>>>> Class UsuarioService extends ServiceBase
>>>>>>>> {
>>>>>>>> public function UsuarioService(){
>>>>>>>>  this.super( 'usuario' );
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Wemerson Guimarães
>>>>>>>> Rio Verde - Go - Brasil
>>>>>>>>
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>>>> flexdev@googlegroups.com
>>>>>>>> Para sair da lista, envie um email em branco para
>>>>>>>> flexdev-unsubscr...@googlegroups.com
>>>>>>>> Mais opções estão disponíveis em
>>>>>>>> http://groups.google.com/group/flexdev
>>>>>>>> ---
>>>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>>>> "flexdev" dos Grupos do Google.
>>>>>>>> Para cancelar a inscrição neste grupo e parar de receber seus
>>>>>>>> e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>>>>>>> Para obter mais opções, acesse
>>>>>>>> https://groups.google.com/groups/opt_out.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>  --
>>>>>>> --
>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>>> flexdev@googlegroups.com
>>>>>>> Para sair da lista, envie um email em branco para
>>>>>>> flexdev-unsubscr...@googlegroups.com
>>>>>>> Mais opções estão disponíveis em
>>>>>>> http://groups.google.com/group/flexdev
>>>>>>> ---
>>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>>> "flexdev" dos Grupos do Google.
>>>>>>> Para cancelar a inscrição neste grupo e parar de receber seus
>>>>>>> e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>>>>>> Para obter mais opções, acesse
>>>>>>> https://groups.google.com/groups/opt_out.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Wemerson Guimarães
>>>>>> Rio Verde - Go - Brasil
>>>>>>
>>>>>> --
>>>>>> --
>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>> flexdev@googlegroups.com
>>>>>> Para sair da lista, envie um email em branco para
>>>>>> flexdev-unsubscr...@googlegroups.com
>>>>>> Mais opções estão disponíveis em
>>>>>> http://groups.google.com/group/flexdev
>>>>>> ---
>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>> "flexdev" dos Grupos do Google.
>>>>>> Para cancelar a inscrição neste grupo e parar de receber seus
>>>>>> e-mails, envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>>>>> Para obter mais opções, acesse
>>>>>> https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>  --
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> flexdev@googlegroups.com
>>>>> Para sair da lista, envie um email em branco para
>>>>> flexdev-unsubscr...@googlegroups.com
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>> ---
>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>> "flexdev" dos Grupos do Google.
>>>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>>>>> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>>>> Para obter mais opções, acesse
>>>>> https://groups.google.com/groups/opt_out.
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Wemerson Guimarães
>>>> Rio Verde - Go - Brasil
>>>>
>>>> --
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>>> Para sair da lista, envie um email em branco para
>>>> flexdev-unsubscr...@googlegroups.com
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>> ---
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>> "flexdev" dos Grupos do Google.
>>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>>>> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out
>>>> .
>>>>
>>>>
>>>>
>>>
>>>  --
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>> Para sair da lista, envie um email em branco para
>>> flexdev-unsubscr...@googlegroups.com
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>> ---
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev"
>>> dos Grupos do Google.
>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>>> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>
>>
>> --
>> Wemerson Guimarães
>> Rio Verde - Go - Brasil
>>
>> --
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>> ---
>> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev"
>> dos Grupos do Google.
>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
> ---
> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev"
> dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>
>



-- 
Wemerson Guimarães
Rio Verde - Go - Brasil

-- 
-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para flexdev+unsubscr...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Responder a