2012/01-ltp-10_decomposição da arquitetura

Upload: helderseixas

Post on 05-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    1/17

    Linguagem e Tcnica de Programao

    Tecnologia Java

    Professor: Hlder Seixas LimaE-mail: [email protected]

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    2/17

    Decomposio da Arquitetura em 3 Camadas

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    3/17

    Arquitetura proposta

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    4/17

    Criao dos pacotes

    Cada camada ir ser representada por um pacote noprojeto.

    Para tal, crie os pacotes conforme figura abaixo.

    Os pacotes apresentacao, negocio e persistenciarepresentam as camadas. Enquanto o pacoteentidade representa uma coluna do sistema que visvel em todas as camadas.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    5/17

    Mover a classe Conta para opacote Entidade

    Arraste com o mouse o arquivo para o novopacote.

    Para completar a mudana de pacote exibido

    a tela abaixo. Clique em Refatorar para confirmar.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    6/17

    Erros aps a mudana de pacote

    Aps mudar o pacote da classe Conta vrioserro apareceram na classe TelaCadastroConta.

    Isso se deve ao conceito de VISIBILIDADE. Com a mudana, os atributos da classe Conta

    no esto mais visveis para a classeTelaCadastroConta.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    7/17

    Modificadores de acesso private

    Atributo/mtodo somente ser visvel dentro daclasse;

    public

    Atributo/mtodo so visveis fora da classe; padro (no informar)

    Atributo/mtodo so visveis somente dentro do

    pacote; protected

    Atributo/mtodo so visveis nos decentes daclasse;

    Ser estudado em outra aula.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    8/17

    Boa prtica em Java (OO)

    Os atributos de uma classe devem sermantidos somente pela prpria classe;

    Para modificar o estado de uma classe o ideal

    fazer isto atravs de mtodo; get Padro para mtodos de obteno de valor; set Padro para mtodos de modificao de

    valor;

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    9/17

    Como fica a classe Conta

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    10/17

    O que devemos fazer agora?

    V na classe TelaCadastroConta e corrija aschamadas aos atributos da classe Conta.

    Veja o exemplo:

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    11/17

    Camada de persistncia

    A camada de persistncia consistir em criarduas classes: GerenciadorEntidade

    ContaDAO

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    12/17

    Classe GerenciadorEntidade

    a classe que ir se responsabilizar emmanter o objeto que gerencia o mapeamentodas entidades (objetos da memria e registros

    no banco de dados). Utilizaremos uma adaptao do padro de

    projeto Singleton para fazer isso.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    13/17

    Classe ContaDAO

    a classe que ter a responsabilidade de

    manipular os dados da entidade Conta. Vamos considerar, por enquanto, apenas o

    fluxo de criar uma Conta.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    14/17

    Classe ContaBO

    Classe responsvel pelas regras de negcioenvolvendo a entidade Conta.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    15/17

    Ajuste a tela para chamar o BO

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    16/17

    Exercrcio 1

    Termine a decomposio das camadas Faa o mesmo para os fluxos de busca, alterao e

    remover Conta;

    Remova qualquer lixo que tenha ficado no cdigo.

  • 7/31/2019 2012/01-LTP-10_Decomposio da Arquitetura

    17/17

    Exerccio 2

    Seu banco cresceu, agora deseja-se fazer ocadastro de Agncia e Cliente. CRUD de Agncia:

    Dados: CNPJ, Estado, Cidade e Nome daAgncia; No permitido remover uma Agncia, apenas,

    desativar.

    CRUD de Cliente: Dados: Nome, CPF, Sexo e Data de nascimento. No permitido cadastrar menor de idade.

    Seja criativo. FAA O MELHOR!!!