Arquitetura Camadas de Programação
Padrão de Arquitetura em Camadas
Ênfase em Web
Definição
• Estimula a organização da arquitetura do sistema em um conjunto de camadas coesas com fraco acoplamento entre elas.
• Cada camada possui um propósito bem definido.
• A camada superior conhece apenas a camada imediatamente inferior (que fornece seus serviços através de uma interface).
Definição
• Cada camada é formada por um conjunto de classes com um determinado propósito.
UI
Negocio
UI
Domínio
Comunicação
Negocio
Dados
Dados
Propósito de Cada Camada
• UI: agrega as classes do sistema com as quais os usuários interagem. • Negócio: mantém as classes do sistema responsáveis pelos serviços e regras do negócio.
• Dados: camada responsável pelo armazenamento e recuperação dos dados persistentes do sistema.
• Domínio: responsável pela distribuição do modelo tipados em várias máquinas.
Vantagens e Desvantagens
• Vantagens:
– Separação de código relativo a interface com o usuário
(UI), comunicação, negócio e dados.
– Permite a mudança de implementação de uma camada sem afetar a outra, desde que a interface entre as mesmas seja mantida.
– Possibilita que uma camada trabalhe com diferentes versões de outra camada.
• Desvantagem:
– Aumento no número de classes existentes no sistema.
Padrão da Arquitetura
• Arquitetura em 3 Camadas
– Possui as camadas: UI, Regras de Negócio e Acesso a
Dados
– A camada de UI: agrega as classes de fronteira
• Exemplo: Interface de Usuário (Telas)
– A camada de Regras de Negócio: agrega as classes de controle e entidade
• Exemplos: Controle de usuário , acesso de usuários , etc
– A camada de Acesso a Dados: agrega as classes de persistência dos dados
• Exemplo: Conexão com a Base de Dados (Select, Insert, Update
Delete)
– A camada de Transporte
Definição das Camadas
• Camada UI
– Interface Gráfica
• Front-End
– interfaces gráficas que permitem ao usuário interagir com
programas