segunda-feira, 22 de novembro de 2010

CAMADAS: SEPARAÇÃO ENTRE COMPONENTES

Para melhor organizar a manter componentes, é crucial que sejam separados por algum critério. Isolando-os em grupos é possível diminuir o acoplamento entre os componentes, fazendo com que as mudanças em um grupo não impactem muito em outro grupo.
Entre as diversas formas possíveis de separar os componentes, está a técnica de Camadas. Ao separar componentes em grupos chamados Camadas (Layers em inglês), o projetista agrupa componentes por responsabilidade em comum que possuam.
Uma aplicação Java EE tradicional, por exemplo, usa o modelo de 3 Camadas: Apresentação, Negócios e Persistência. Na Camada de Apresentação estão todas as classes e demais artefatos (como páginas JSP) relacionados com a interação entre o usuário e a aplicação. A Camada de Negócios contêm a modelagem do domínio do problema em classes de negócio e a Camada de Persistência contém as classes com conhecimento sobre como persistir objetos no banco de dados (por exemplo, DAOs).
O diagrama abaixo mostra os objetos em uma aplicação simples. Neste caso não há separação lógica qualquer.



Utilizando Camadas o projetista tem um critério a utilizar quando decide agrupar duas ou mais classes, mas o uso de Camadas não diz nada sobre como estes grupos se comunicam. O máximo que o uso de Camadas diz é sobre se estas são transparentes (ou abertas) ou opacas (fechadas). Camadas transparentes não evitam que uma superior enxergue a inferior, as opacas sim.

Nenhum comentário:

Postar um comentário