Java Básico Aplicações em camadas

Propaganda
Java Básico
Aplicações em camadas
Marco Antonio,
Arquiteto de Software - TJDF
Objetivos
Mostrar o conceito de 'camada'
Discutir as 3 principais camadas (apresentação,
negócio e dados)
Camadas
Separa as diferentes áreas da aplicação em várias partes com
funcionalidades específicas.
Com a utilização da orientação a objetos, surgiu a necessidade de se utilizar
boas práticas para implementação de código.
Diminui o acoplamento entre os módulos do sistema.
Alterações em uma parte do código causam pouco ou nenhum impacto no
resto do projeto.
Maior clareza no código-fonte do projeto.
Autores diferentes usam nomes diferentes para as camadas, mas a idéias
permanece a mesma.
A direção (quem inicia) do processamento é: apresentação -> negócio ->
dados
As três camadas
Camada de apresentação
É responsável pela inteface com o usuário.
Não faz nenhum processamento.
Diversas possibilidades: web, móvel, desktop.
Todas as operações devem ser solicitadas à camada de
negócio.
Camada de negócio
É responsável por gerenciar as regras de negócio.
Não pode interfacear com o usuário.
Não pode acessar diretamente o repositório de dados.
Efetua processamento baseado
camada de apresentação.
em
solicitações
da
Camada de dados
Responsável por gerenciar conexões com o banco de
dados.
O banco de dados é, geralmente, relacional. A aplicação é
OO. A camada de dados faz a transição de um modelo
para o outro.
Fornece um mecanismo reutilizável para acessar os
dados.
Pacotes
Mecanismo em Java que permite a organização de
classes.
Os sistemas têm centenas, quando não têm milhares de
classes. Seria o perfeito caos se não existisse uma regra
clara para organizá-las.
Cada pacote representa uma idéia, um contexto bem
definido para um grupo de classes. Classes que acessam
banco de dados ficarão em um pacote de dados. Classes
de interface com o usuário terão um pacote de
apresentação.
As camadas são baseadas em pacotes. Cada camada tem
um pacote próprio.
Pacotes
De uma maneira geral, temos a seguinte organização de
pacotes:
com.<nome da empresa>.<sistema ou módulo>.<camada>
Veja o exemplo:
package com.javabasico.rh.apresentacao;
public class TelaDeCadastroDePessoa {
//métodos e atributos da classe
}
Pacotes
Cada pacote é um diretório no sistema de arquivos.
Uma classe pode acessar todas as outras dentro do
mesmo pacote.
Para acessar pacotes externos, ou mesmo sub-pacotes,
temos que usar o 'import'.
Dúvidas?
Exercício
Você já deve ter várias classes que poderiam estar
organizadas em alguma camada/pacote.
Crie os pacotes para as classes existentes até o momento
e analise as camadas que podem ser criadas.
Download