Adobe Flex 4.5 - Acesso de Telas Singleton

Bom dia Senhores,

Tenho um projeto em adobe flex 4.5 usando padrão de formulários, sem mdi window(não gosto) e sem módulos (o pouco que li, falavam mal), somente com navigatorContent e viewStacks.
Enfim eu tenho uma pagina principal o meu application e dentro dela eu tenho uma viewstack com vários outras instancias das telas em mxml que eu declarei dentro da vs.
E em determinados momentos eu estou navegando dentro da tela digamos de cadastro de pessoa e gostaria de pegar uma informação que está inserida na tela cadastro de usuário, entretanto eu não sei como ir na instancia daquela tela que eu tenho já criada dentro do meu mxmlApplication.
Eu gostaria de saber qual a boa prática para se resolver isto ? Gostaria de fazer algo semelhante ao que se faço no java, um método estático getInstance e talz, só que eu não se isso é usado no flex, se é correto ou errado.
Gostaria de receber opiniões a respeito.

Ex de codigo: No código abaixo tem um, trecho onde eu declaro as telas mxml dentro da viewStacck que esta dentro do meu applicattion, entao como pegar essa instancias estando dentro de uma outra tela alheia ?!?!

<mx:ViewStack id="menusVS" x="0" y="173" width="100%" height="100%">
		<view:ManterUnidade 		id="manterUnidade"         creationPolicy="all"   />
		<view:ManterCliente 		id="manterCliente"         creationPolicy="all"   />
		<view:ManterFornecedor 		id="manterFornecedor"      creationPolicy="all"   />
		<view:ManterCategoria 		id="manterCategoria"       creationPolicy="all"   />
		<view:ManterSubCategoria    id="manterSubCategoria"    creationPolicy="all"   />
		<view:ManterProduto         id="manterProduto"         creationPolicy="all"   />
		<view:ManterUsuario         id="manterUsuario"         creationPolicy="all"   />
		<view:CadastroUnidade 		id="cadastroUnidade"       creationPolicy="all"   />
		<view:CadastroCliente 		id="cadastroCliente" 	   creationPolicy="all"   />
		<view:CadastroFornecedor    id="cadastroFornecedor"    creationPolicy="all"   />
		<view:CadastroConfiguracoes id="cadastroConfiguracoes" creationPolicy="all"   />
		<view:CadastroCategoria     id="cadastroCategoria"     creationPolicy="all"   />
		<view:CadastroSubCategoria  id="cadastroSubCategoria"  creationPolicy="all"   />
		<view:CadastroProduto       id="cadastroProduto"       creationPolicy="all"   />
		<view:CadastroUsuario       id="cadastroUsuario"       creationPolicy="all"   />
		<view:Login 				id="login" 			       creationPolicy="all"   />
	</mx:ViewStack>

Obrigado,

Att.
Ro0llz

menusVS.getChildAt(index que você deseja), da um getChildByName tb.

Talvez eu nao tenha sido bem claro, ou expliquei errado, mas não é nem parecido com a solução que me passou, agradeço AUser pela ajuda, mas oque realmente preciso saber é como pegar a instancia de uma classe que eu instancei dentro do aplication, dessa forma menusVS.getChildAt eu teria que executar estando dentro do application, lá dentro eu sei fazer isso, as instancias já estao dentro da própria classe, mas e quando eu estou dentro de uma outra mxml diferente da apllication e preciso pegar uma dessas instancias ?
É por isso que questionei sobre algum SingleTon com nomedatela.getInstance se alguem usa isso ou se ja viu algo parecido …
Aguardo Retorno

De qualquer forma, muito Obrigado.

Att.

Ro0llz’

eh, nao to entendendo o que você tá falando. A Application possui um objeto singleton dentro da propria class Application, no Flex4, o certo eh acessar pela FlexGlobals. Dentro dela você consegue pegar qualquer objeto que esteja dentro da Application. É isso que você quer saber?

AUser, agora sim entrou noque me referia, sobre como resolver o problema tenho várias opções, eu estou na verdade procurando opiniões de como é a forma utilizada pelos flexers, pq atualmente quando quero uma instancia que está dentro do application faço da seguinte forma.

Dentro de qualquer pagina eu faço

Entende?

Ah tambem a forma de fazer um método como o usado no java baseado no design pattern da GoF “Singleton” usando uma chamada estatica do método getInstance que retornara sempre a mesma instancia.

E esta sua ultima opção eu não conheço, poderia exemplificar ?
Seria esta a melhor forma então de resolver o problema ? Usando o FlexGLobals entro no application e pega a instancia de qualquer uma das minhas telas q esta dentro do application e de lá pego qualquer valor. seria isto ??

Att.

Ro0llz’

AUser, agora sim entrou noque me referia, sobre como resolver o problema tenho várias opções, eu estou na verdade procurando opiniões de como é a forma utilizada pelos flexers, pq atualmente quando quero uma instancia que está dentro do application faço da seguinte forma.

Dentro de qualquer pagina eu faço

Entende?

Ah tambem a forma de fazer um método como o usado no java baseado no design pattern da GoF “Singleton” usando uma chamada estatica do método getInstance que retornara sempre a mesma instancia.

E esta sua ultima opção eu não conheço, poderia exemplificar ?
Seria esta a melhor forma então de resolver o problema ? Usando o FlexGLobals entro no application e pega a instancia de qualquer uma das minhas telas q esta dentro do application e de lá pego qualquer valor. seria isto ??

Att.

Ro0llz’[/quote]

Hm, acho que entendi finalmente o que você quer. Se você quer executar métodos, seria isso sim, mas se quer pegar valores, seria mais legal usar um ModelLocator ou algo de injeção, como Swiz ou Mate. Dá um olhada nisso:

http://blog.tsclausing.com/post/9
http://blog.dclick.com.br/2006/02/18/model-locator-contra-a-oop/pt/

AUser, agora sim entrou noque me referia, sobre como resolver o problema tenho várias opções, eu estou na verdade procurando opiniões de como é a forma utilizada pelos flexers, pq atualmente quando quero uma instancia que está dentro do application faço da seguinte forma.

Dentro de qualquer pagina eu faço

Entende?

Ah tambem a forma de fazer um método como o usado no java baseado no design pattern da GoF “Singleton” usando uma chamada estatica do método getInstance que retornara sempre a mesma instancia.

E esta sua ultima opção eu não conheço, poderia exemplificar ?
Seria esta a melhor forma então de resolver o problema ? Usando o FlexGLobals entro no application e pega a instancia de qualquer uma das minhas telas q esta dentro do application e de lá pego qualquer valor. seria isto ??

Att.

Ro0llz’[/quote]

Hm, acho que entendi finalmente o que você quer. Se você quer executar métodos, seria isso sim, mas se quer pegar valores, seria mais legal usar um ModelLocator ou algo de injeção, como Swiz ou Mate. Dá um olhada nisso:

http://blog.tsclausing.com/post/9
http://blog.dclick.com.br/2006/02/18/model-locator-contra-a-oop/pt/[/quote]

Pelo pouco que li, isso explica bastante:
About the name
The ModelLocator holds instances of Model Objects, making them easy to locate and accessible from anywhere in the application.

Enfim é isso mesmo que eu queria um forma de segurar as isntancias a fim de deixá-las facilmente acessível para quando eu precisasse, vou pesqusiar agora a respeito se há algo como perda de desempenho, dependendo eu uso esse FlexGlobals mesmo.

Mas enfim AUser, só para deixar claro, na verdade eu nao precisar pegar varoles, eu falei isso para ficar mais fácil de entender, oque eu preciso é:
Estou na classe de Manter Pessoa, ao clicar no botão novo, isso GENERICAMENTE, estou fazendo um componente CRUD, so que digamos quando estou na tela de manter pessoa, preciso acessar a instancia de CADASTRO de pessoa (outra tela) que tambem foi isntanciada dentro do application, pegar um objeto que euu tenho lá dentro dessa tela de cadastro de pessoa e limpá-lo completamente, então por isso eu preciso acessar a instancia, entende?

por isso que quando estou na tela de pesquisa e vou clicar em novo para abrir a tela de cadastro hoje eu faço "this.parentApplication[“cadastroPessoa”].objeto = new Object();

entende!? so que nao estava gostando dessa forma de buscar a instancia pelo parent applicaation, vou procurar mais sobre o Flex Globals e o ModelLocator

Obrigado pela ajuda.

Ro0llz’