coinsidencia tambem estou desenvolvendo um ERP :) com full integração Web.

2010/4/15 Tiago Ribeiro <[email protected]>

>   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.
> [email protected]
> [email protected]
> =====================================
>
>
>  ------------------------------
> *De:* Leonardo Casali <[email protected]>
>
> *Para:* flexdev <[email protected]>
> *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
> <[email protected]> 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 <[email protected]>
> >
> >
> >
> > > 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
> [email protected]
> > > Para sair da lista, envie um email em branco para
> > > [email protected]
> > > 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 [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> 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 [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Desenvolvedor Web

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a