João, obrigado pela explicação. No entanto não convinha nada mudar a
arquitectura da minha aplicação nesta altura.

 

Vou tentar arranjar uma solução para o caso dos EventMaps, mas mais uma vez
obrigado.

 

Cumprimentos.

 

From: [email protected] [mailto:[email protected]] On Behalf Of
João Saleiro
Sent: sexta-feira, 24 de Abril de 2009 19:05
To: [email protected]
Subject: [riapt] Re: Dúvida sobre o Mate em Flex

 

Boas, 

não me recordo ao certo porque decidimos não usar LocalEventMaps. No entanto
a nossa solução é correcta e extremamente simples. Temos um workspace para o
*Projecto*, e depois temos um Flex Project por cada Módulo + Aplicação
principal + Skins + Project Library + Shared Library. Cada Módulo é um Flex
Module, que no arranque instancia um EventMap. That's it. Todos os eventos
que o Mate apanha são apanhados por todos os event maps que escutarem esses
eventos. Ou seja, é muito fácil carregar módulos, porque não é preciso fazer
nada de especial. Se eu lançar o evento "Sincroniza", que o event map da
aplicação escuta, então é apanhado pela aplicação. Se o event map do módulo
A também escutar esse evento, mas o módulo não está carregado, então só a
aplicação apanha esse evento. Se por outro lado, o módulo A já estiver
carregado, então esse evento é apanhado em ambos os event maps.

Objectos criados em qualquer event map com o ObjectBuilder, se criados com o
registerTarget=true, da próxima vez que são referenciados não são
instanciados novamente - é usada a instância já existente. Assim podes
partilhar managers entre todos os módulos com muita facilidade.

O único cuidado que tens que ter com módulos, é que tens gerar um
link-report optimizando para a aplicação principal para garantires que não
importas as mesmas definições de classes em todos os módulos. Se não tiveres
este cuidado, quando passares dados/eventos entre módulos, arriscas-te a ter
RTE's de Invalid Type Coercion: classeA to classeA. Ambas têm o mesmo nome,
mas para o Flex serão classes diferentes se existirem duas definições
importadas em módulos diferentes.


João Saleiro 

CTO @ Webfuel 
Adobe Certified Expert 
Adobe Community Expert 
Co-founder of the Portuguese RIA Community 

 <http://www.linkedin.com/in/jsaleiro> View João Saleiro's profile on
LinkedIn




--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para 
[email protected]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

<<inline: image001.gif>>

Responder a