Fluxo de um programa e MVC

Galera, eu tenho uma dúvida e gostaria que alguém discutisse aqui…

Sempre que penso no fluxo de um sistema, eu me pergunto qual a melhor forma de ser implementada. Não digo melhor, mas a mais comum, mais utilizada e que dá resultado. Vou exemplificar melhor.

Como defino os momentos de chamar cada tela do usuário? Ao chamá-la, devo sempre esperar um resultado, deixando-a modal? Como estabeleço que nesse momento o fluxo toma esse rumo, e naquele outro um rumo diferente?

Estava lendo sobre a arquitetura MVC. Entendi bem qual a sua proposta para desacoplamento, responsabilidades bem definidas, etc… Mas como implementar na prática? Como concretizar essa arquitetura? Via listeners? Existe algum framework de workflow que ajuda com isso?

E ai jovem, beleza?

Cara, montar arquitetura de sistemas nunca é fácil. Não existe um padrão, uma “receita de bolo”. É preciso que um arquiteto de software defina isso. E para o cara se tornar um arquiteto é necessário, acima de tudo, muita experiência em projetos diferenciados.

Com relação ao MVC, é um Design Pattern muito aceito no mundo java. Minha praia não é desktop e nem mobile. Meu negócio é Web. Existem vários frameworks que implementam MVC para web. Os mais conhecidos são JSF, Struts, Webwork, Spring… Tem um outro framework relativamente novo chamado JBoss Seam. Ele é simplesmente o melhor de todos os que eu já vi… =]. Vale a pena dar uma olhada.

Espero ter ajudado. Até.