[Flex & AIR] Swiz Framework + Presentation Model : Exemplo de Projeto

domingo, 18/07/2010 3:52 am  

Continuando meus estudos com Swiz Framework, depois de uma batalha de algumas horas para entender o fluxo e funcionamento eis que consegui montar um projeto na estrutura que pretendo utilizar como base inicia para futuros projetos em Flex 3, 4 e AIR

Agradecimento ao @BetoFiote que me ajudou nos testes e a debater a idéia e respectiva estrutura apresentada neste post.

Antes de mais nada, eis a Arquitetura da Aplicação utilizando o padrão Presentation Model:

 

Como a estrutura da aplicação é simples não houve uma necessidade justificável de ter uma camada de delegates, commands e afins. O objetivo é ter uma estrutura organizada com a menor quantidade possível de código/arquivos para facilitar a manutenção e expansão da aplicação.

A seguir a estrutura de pastas/pacotes utilizada:

Segue o detalhamento da estrutura acima:

config

Pacote onde ficam os arquivos de configuração do Swiz Framework

controller

event

model

entities

Pacote onde ficam os VO, classes de entidades em geral da aplicação

presentation

Pacote onde ficam as classes do Presentation Model

view


A seguir, a aplicação de exemplo usando esta estrutura…

Página: 1 2

, , , , , , , , , ,

Este post foi escrito por:

- que escreveu 500 post(s).


Entre em contato

  • http://marcosrosada.blogspot.com/ Marcos

    Muito bom!!

    abraços!

  • @eduarmstrong

    Parabéns Erko e muito obrigado por postar teus estudos/testes/pesquisas. É certo que ajuda muita gente

    []´s

  • http://intensedebate.com/people/jandersonfc jandersonfc

    sem palavras amigo 😉 ótimo o uso do Swiz com Presentation Model, já é mais um usando esse modelo daqui para frente 😉

    Obrigado pelo ótimo material 😉

    Cumps. #soudev

  • feahorita

    Muito boa a arquitetura montada.

    Com certeza irei utilizar em projetos futuros este padrao.

    Paabens.

  • Rener

    Erko, muito bom mesmo esse post, meus parabéns. Mas tenho um pedido, se possivel, como fazer um relacionamento (1:n)usando essa estrutura

    • http://erkobridee.com erko

      não entendi como seria esse relacionamento (1:n), quando li isso só relacionei a dados… não a camada de apresentação (interface) da aplicação

      • Rener

        na verdade seria referente aos dados, por ex. como seria usar tabela vendas relacionada com uma tabela ItensVenda, como ficaria os controllers, os events e tals… e desde já me desculpe pela folga, mas é que as vezes a gente que curiosidade acaba se enpacando em alguns detalhes e esse é um deles.

        • http://erkobridee.com erko

          agora entendi o que você está pensando, mas tenha em mente que esta estrutura é para controle da parte flex/air camada de apresentação, estou tomando como base que sua aplicação é flex com algum backend, então toda essa parte de relacionamento de tabelas é na parte do backend, onde o que você tem que se preocupar enviar para o flex/air é seus respectivos objetos dessa representação

          caso o backend seja java, classes anotadas e relacionadas, os objetos dessas classes que representam suas entidades (tabelas) é que serão enviadas…

          então até aqui esta estrutura não tem vinculo algum com base de dados =]

  • Rener

    Beto, será que poderia dar um exemplo, desde já obrigado.

  • Pingback: s:TextArea – recuperando um texto selecionado - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!()

  • Pingback: [ Adobe Flex ] Mudando o estilo visual dos Charts - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!()

  • everson

    já vi outros projetos usando swiz e não tinham ChannelSet definido no Beans.mxml. Pq vc usa isso ??

    <mx:ChannelSet id="myAmfChannel">
    <mx:AMFChannel url="http://localhost:8080/AgendaServer/messagebroker/amf"/&gt;
    </mx:ChannelSet>

    <mx:RemoteObject
    id="contatoService"
    channelSet="{myAmfChannel}"
    destination="contatoService"/>

    • http://erkobridee.com erko

      em um projeto Web Flex isso não é necessário, agora caso vc queira criar um projeto portavel para Adobe AIR isso encurta o caminho

      apenas um exemplo de uso 😉

  • Rener

    Erko, nesse exemplo java, num tá faltando o persistence.xml não?

    • http://erkobridee.com erko

      não…

  • Rener

    rsrs, foi maus, é pq eu baixei o exemplo e num tá rodando, mas vou dar mais uma estudada no codigo

  • Rener

    Consegui mas tá dando o seguinte erro:
    09:14:06.968 DEBUG com.erkobridee.agenda.dao.ContatoDAO – method : save
    09:14:07.031 ERROR org.hibernate.util.JDBCExceptionReporter – GDS Exception. 335544347. validation error for column ID, value "*** null ***"
    09:14:07.031 ERROR org.hibernate.util.JDBCExceptionReporter – GDS Exception. 335544347. validation error for column ID, value "*** null ***"
    09:14:07.031 ERROR com.erkobridee.agenda.dao.ContatoDAO – Error: org.hibernate.exception.GenericJDBCException: could not insert: [com.erkobridee.agenda.vo.Contato]
    09:14:07.046 INFO com.erkobridee.agenda.dao.ContatoDAO – Closing Entity Manager.

    Vc poderia me dar uma luz?

    Brigado desde já!

    • http://erkobridee.com erko

      pela descrição do erro é um valor nulo sendo enviado para uma coluna que não pode receber um valor nulo 😛

  • Pingback: Tutorial Básico Swiz Framework 1.0 | jandersonfc()

  • Pingback: Tutorial Básico Swiz Framework 1.0 - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!()

  • Leonardo Moura

    Um pouco atrasado já mas acho válido agradecer.
    Post muito simples e objetivo, com fontes e tudo mais.
    Parabéns Erko e aquele abraço.
    Ps. Já converti meu projeto para o SWIZ, deu trabalho mas é realmente muito bom

  • Pingback: Voltando ao mundo HTML+JS e agora? - redeRIA | Agregador de noticias, artigos, tutoriais Flex, Flash, JavaFX, AJAX e Rich internet applications em geral!()

  • Pingback: haga clic en el siguiente sitio web()