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
