Pessoal, aqui na empresa que trabalho nós compramos um sistema em java de uma outra empresa, e junto com esse sistema veio uma API desenvolvida pelos próprios empregados da outra empresa... essa API é para persistencia e tals....
dai na API os facades acessam as DAOs.... mas com um detalhe: facades e DAOs estao em pacotes diferentes, OU SEJA, todos os métodos da DAO estao public...
então eu pergunto, se a função do facade é servir como "fachada" entre as actions (o sistema usa struts1) e as DAOs... entao por que fazer DAOs em pacotes separados dos facades e deixá-los com metodos public????
senao o engraçadinho querendo ganhar tempo simplesmente faz um acesso nas DAOs partindo dos proprios actions!!
o correto nao seria DAOs e facades no mesmo pacote com os métodos dos facades como public e DAOs como protected??
Membro desde: 01/02/2010 10:48:39
Mensagens: 372
Offline
O objetivo do padrão facade é simplificar a interface com toda a hierarquia de classes,
retirando toda a complexidade de se conhecer todas as classes.
Facade não tem por objetivo eliminar o acesso direto à um determinado nodo da estrutura.
Sem contar o fato de que juntar classes DAO e classes Facade dentro do mesmo pacote tornariam o pacote menos coeso.
então os caras nomearam errado essa camada entre as actions e a DAOs....
qual seria o nome correto? se é que pode existir uma camada a mais nesse caso....