Boas pessoal;
Estou utlizando java e flex, porém estou com uma pequena duvida em relação as camadas que devo utilizar.
Atualmente faço uso de controller, delegate, event e view;
Na view fica todos os meus componentes relativos a parte gráfico, e se por acaso tiver um componente que tenha muita lógica de utilização(actionscrip) eu crio um novo componente chamando ViewXImpl, com o intuito de separar o mxml do as;
As ações são feitas através de eventos que são enviados para o controller, esse por sua vez processa-os e se necessário encaminha para o delegate que encaminha para o java;
O problema que estava encontrando é que em algumas situações o controller estava ficando muito grande, pois possuia todas as funções especificas de cada view, dificultando a manutenção e o entendimento do código.
A dica que me deram foi adicionar uma camada model presentation e eleminar o delegate. Deixando o controler mais genérico o possivel para tratar eventos e requisições para o banco.
A minha duvida é como realmente implementar um model presentation nesta minha estrutura, ela deve estar intimamente acoplada com uma unica view? Mais ai seria basicamente uma ViewImpl. Ou o correto seria um model presentation para views que trabalham num mesmo contexto?
Sendo mais prático, um arraycollection que é utilizado por varias views, atualmente eu o armazeno no controller, com essa nova estrura onde ficaria?