Ok pessoal, tive bastante informação agora.

Como estou desenvolvendo um ERP, estamos falando a mesma lingua..(Leonadro 
Casali)  os eventos que estou querendo colocar nesta camada é do workspace 
pensando no baixo acomplamento de componentes.
Gostaria de trocar algumas ideias com você por msn é possivel?

Se sim, tiago01[arroba]msn[ponto]com
Caso não, tudo bem tambem... so me dá feedback.

E todos que estão na lista, quizerem adicionar afim de trocar ideias sobre flex.
(Só colocar na messagem na hora de adicionar que é do grupo de flex, pra mandar 
organizado o msn.)

Obrigado desde já.
Att.
 
=====================================
Tiago G. Ribeiro.
Desenvolvedor Web.
maider...@yahoo.com
tiago.sist...@yahoo.com

=====================================




________________________________
De: Leonardo Casali <leo.cas...@gmail.com>
Para: flexdev <flexdev@googlegroups.com>
Enviadas: Quinta-feira, 15 de Abril de 2010 8:07:38
Assunto: [flexdev] Re: Camada Observador.

Eu não sou a Gabriela, mas vamos lá...

Quanto a utilizar funções para chamadas de serviço, você pode utilizar
a abordagem de Proxy. Você cria um Proxy para cada serviço de
requisição de dados que você tem e essa classe tem como
responsabilidade fazer isso. Esse "Proxy" nada mais é que uma classe
que herda de EventDispatcher.

/**
* Classe Proxy responsável pela comunicação com a entidade XXX.
* Tem como responsabilidade centralizar o acesso de dados na camada
Java, criando
* assim um melhor reaproveitamento de código.
* @author Leonardo Casali
*/
public class MyProxy extends Proxy {

    private var remoteObject : RemoteObject = new
RemoteObject(DESTINATION);

    public function getAllXXX(userName : String) : void {
        // Aqui voce faz a chamada para o RemoteObject e adiciona os
listeners.
    }

    private function getAllXXXResultHandler(event : ResultEvent) : void {
        // Dispara um evento personalizado, e encapsula o resultado no
evento.
        // Essa parte você pega na aplicação que chamou.
    }

    private function getAllXXXFaultHandler(event : FaultEvent) : void {
        // Dispara um evento personalizado, e encapsula o resultado no
evento.
        // Essa parte você pega na aplicação que chamou.
    }

Usando isso, basta instanciar o Proxy, colocar os eventlisteners para
os eventos de sucesso e erro, e disparar o método. Isso garante que se
você refatorar o Java, por exemplo, mexa em apenas um local.

Quanto as variáveis apenas no Application, você está trabalhando com
variáveis globais, e isso, a não ser que seja uma aplicação de meio
expediente, descartável, é ruim (vai se tornando uma bola de neve). As
variáveis devem sempre ter o menor escopo possível. O argumento por
trás disso é que toda vez que você aumenta o alcance, você tem mais
código que potencialmente modifica a variável, e a complexidade,
portanto, é mais induzida na solução. Os motivos que você utilizaria
uma variável global e a minha explicação abaixo...

    * Se a variável nunca vai mudar, então é uma constante, não uma
variável.
    * Se a variável exige o acesso universal, em seguida, duas sub-
rotinas devem existir para obter e definir isso, e elas devem ser
sincronizadas.
    * Hoje seu sistema é pequeno. Mas ele pode (e provavelmente vai)
crescer com o tempo. Sempre pense se você realmente deve utilizar a
variável no ambito global ou não. Vai ver que 99% das vezes a variável
não é necessária para toda a aplicação.

Recomendo que você dê uma olhada no padrão MVC, que ajudaria bastante
na situação que tu descreve...

Mas são minhas opiniões...

Abraços,
Casali




On 15 abr, 08:46, Helio Antonio Francisco Silva
<helio.afsi...@gmail.com> wrote:
> Massa Gabriela, ja que voce tocou nesse assunto ou vou falar
>  como eu faço as minhas aplicações, ai voce ja me fala se to fazendo certo
> ou errado.
>
> Eu evito o maximo possivel usar listeners, entao eu faço o seguinte, quando
> executo alguma ação como chamada de webservice ou chamar o banco eu chamo os
> metodos todos da raiz principal. ou seja dos modulos eu acesso
>
> parentApplication.nomedafuncao
>
> o resultado eu deixo e uma variavel publica que tambem posso acessar em
>
> parentApplication.nomedavariavel
>
> Peguei isso de quando programava em flash com as famosas _global e _level,
> assim eu consigo acessar sem problema nenhuma qualquer variavel de todos os
> locais.
>
> E uma ma pratica ? sempre estou disposto a melhorar;
> 2010/4/15 Gabriela Trindade Perry <gabrielape...@hotmail.com>
>
>
>
> > Pra saber se consome mais eu teria que saber qual a alternativa.
> > Usar Singletons sempre tem o preço de nunca sair da memória, já que tu
> > não pode matar um Singleton.
> > Dá pra fazer um monostate, mais ou menos como o miso falou (um
> > monostate é uma classe com variáveis estáticas)
>
> > A moral é a seguinte:
> > 1. sempre que possivel passar true para o parametro weakreference do
> > addeventlistener
> > 2. remover o listener quando nao for mais necessario
>
> > Outra coisa que eu acho é que as vezes conforto vale mais que
> > desempenho. Por isso eu as vezes uso Singletons, porque eles são muito
> > confortaveis :0)
>
> > --
> > 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 emhttp://groups.google.com/group/flexdev
>
> >  To unsubscribe, reply using "remove me" as the subject.
>
> --
> Desenvolvedor Web

-- 
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ê 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

Reply via email to