Organização do projeto
05/04/2013
0
Bom Pessoal, andei dando um pesquisa sobre organização do projeto, e deparei com o exemplo abaixo para organizar o lado servidor (Datasnap), o que vocês acham?
GenericDAO
- Contem os metodos Save, Update, Delete, FindByID, FindAll
- Para quem não conhece, é atraves dessa classe que acessamos o banco
de dados ou seja, apenas ela contem os codigos sql.
GenericBO (Bussines Object)
- Contem todas as Funções do Objeto em Si, é nele que se coloca todas
as regras de negocio.
GenericService
- E onde se é publicado nossas regras de negocio para fora! é nele que
definimos as funcoes externas ou particularidades para outros sistemas
operacionais
Regras Importantes para o padrao
- Cada Objeto deve ter o seu DAO
- Cada Objeto deve ter seu BO
- O BO de um Objeto apenas pode acessar funçoes de outro BO, nunca de
um DAO -> (Vocês acham isso certo)
- Os Serviços devem ser agrupados por contesto, ex: VendasService,
Acessa funçoes dos BOs de Venda como Cabeçalho de Venda, Item de
Venda, Estoque, etc...
GenericDAO
- Contem os metodos Save, Update, Delete, FindByID, FindAll
- Para quem não conhece, é atraves dessa classe que acessamos o banco
de dados ou seja, apenas ela contem os codigos sql.
GenericBO (Bussines Object)
- Contem todas as Funções do Objeto em Si, é nele que se coloca todas
as regras de negocio.
GenericService
- E onde se é publicado nossas regras de negocio para fora! é nele que
definimos as funcoes externas ou particularidades para outros sistemas
operacionais
Regras Importantes para o padrao
- Cada Objeto deve ter o seu DAO
- Cada Objeto deve ter seu BO
- O BO de um Objeto apenas pode acessar funçoes de outro BO, nunca de
um DAO -> (Vocês acham isso certo)
- Os Serviços devem ser agrupados por contesto, ex: VendasService,
Acessa funçoes dos BOs de Venda como Cabeçalho de Venda, Item de
Venda, Estoque, etc...
Rafael Cunha
Curtir tópico
+ 0
Responder
Posts
15/04/2013
Daniel Santos
Eu construi o sistema inteiro usando +- essa organização, a manutenção ficou extremamente rapida, recomendo!
Responder
Clique aqui para fazer login e interagir na Comunidade :)