quarta-feira, 10 de novembro de 2010

Conceitos de Arquitetura – Camadas

Essa é a introdução de uma série de artigos onde apresentarei alguns conceitos de arquitetura de software utilizados no desenvolvimento de aplicações corporativas.

Para um melhor aproveitamento do conteúdo dos artigos, são recomendáveis conhecimentos prévios de:
  • Programação Orientada a Objetos
  • Linguagem de programação C#

O objetivo realmente é apenas apresentar os conceitos, recomendo que leia outros materiais para o aprofundamento no assunto.


Camadas 

O princípio de camadas é um conceito básico de arquitetura de software, muitos desenvolvedores estão familiarizados com ele. 

Tal princípio consiste em distribuir a aplicação em camadas, com responsabilidades e dependências bem definidas. 

Mas por que devemos utilizar camadas no software? 

Ao utilizar camadas no software, obtemos uma melhor organização, reduzimos o acoplamento, permitimos o reuso dos componentes e aumentamos a manutenibilidade. 

Vamos a um exemplo simples. 

Imagine uma aplicação de cadastro de clientes de uma loja, em que uma única classe, é responsável por representar a entidade “Cliente”, apresentar as informações em um formulário Windows e também persistir suas informações em banco de dados. 

Agora, surge a necessidade de criar uma aplicação Web para exibir as informações dos clientes. 

Como vamos reutilizar o código responsável por representar a entidade “Cliente” e persistir as informações no banco de dados, se estes estão atrelados ao código que apresenta as informações em um formulário Windows? 

Se aplicação estivesse dividida em camadas como:
  • Apresentação Windows – Responsável por exibir as informações do cliente em formulários Windows.
  • Negócio – Responsável por representar a entidade cliente, bem como possuir suas regras de negócio.
  • Persistência – Responsável por persistir e obter a entidade cliente do banco de dados.

Poderíamos reutilizar as camadas “Negócio” e “Persistência”, a criar uma camada de apresentação para Web. 

Ao dividir a aplicação em camadas, também devemos definir claramente as dependências entre as camadas. Nesse caso, a camada “Apresentação Web” depende da camada “Negócio”, que por sua vez, depende da camada “Persistência”.

0 comentários:

Postar um comentário