Ola Senhores,
Estou migrando para Spring, e com ele veio novas concepções de padrões de projeto.
como o não uso de VO’s/TO’s, repository e etc…
E projetei uma arquitetura, que servirá tanto para disponibilizar serviços para um controller, WebServices,
ou então para o Adobe Flex, que no caso irei usar RemoteObject sobre o protocolo AMF3.
Segue como está ficando modelado o Model:
–model
---------+entity
---------+exception
---------+repository
--------------+hibernate
--------------+jdbc
--------------+ibatis
---------+service
Entity: São objetos que possuem uma identidade Única, implementam suas regras de negocio,
por exemplo: Em um ProdutoEntity, o setCategoria eu verifico se a categoria não está nula.
Exceptions: Cada caso de uso leva sua Exception Personalizada.
Repository: Contém Interfaces que são implementadas por DAO’s outros, no caso hibernate, jdbc…
Service: Atuam como uma Facade, isto é, coordena o fluxo da transação.
Algumas dúvidas:
O que eu posso transportar entre as camadas? VO’s? ou os próprios Entity’s? (Antigamente usava VO’s)
Certas validações e invariantes eu faço no Entity, mas aonde eu faria um CalcularFolhaPagamento() ? no Entity? (Antigamente usava BO’s)
Alguém ae já integrou o Flex com o Spring?
Acredito que irei ter que criar um “SpringBeanFactory” disponibilizando servicos para o Flex.
Obrigado pela atenção Senhores.