Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.

Slides:



Advertisements
Apresentações semelhantes
Listas encadeadas Prof. Rosana Palazon.
Advertisements

TAD Deque ATAI.
Projeto de Sistemas de Software Trabalho de Padrões de Projeto
Padrão de Projeto Iterator
Erros A Evitar Redundância de Programação public void insere( Priorizavel obj ) throws listaVaziaException; Lançamento de exceções.
Orientação a Objetos Classes
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
Professor: Hyggo Almeida
PLC – Introdução a POO Java
Integração com Banco de Dados
Introdução à Programação Orientada a Objetos com Java
Programa Expresso de Capacitação Módulo J2ME Aula 5 – Record Management System.
© Sérgio Soares1 Integrando Java com O2 Sérgio Soares GENTe.
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Orientação a Objetos e Java Graduação em Ciência da Computação
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Tipos Especiais de Listas
UML e Java, Introdução AB,20001 Diagrama de Classes UML e JAVA Problema Existem diversos tipos de contas bancárias. Todas as contas têm um atributo saldo.
The Factory Esclarecendo a arquitetura utilizada no projeto Piloto Autor: Wabber Filho.
Pilhas Profa. Nádia Félix.
Linguagem II Exceções.
Listas Simplesmente Encadeadas
Universidade Católica de Angola Prática de laboratório Fundamentos de Programação II Frei Joaquim José Hangalo.
Melhorias e Mensagens Amigáveis ao Usuário Centro de Informática Universidade Federal de Pernambuco Bruno Felipe Marco André Paulo Fernando Rodolfo Santos.
Capítulo 6 Exceções.
Projetar Arquitetura. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Exceções Profa. Patrícia A. Jaques Alterada por Leandro Tonietto abr-15.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.
Herança e Arquitetura em camadas
Abr-17 Projetar Arquitetura Projetar caso de uso.
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Socket em Java.
Lucas Figueiredo Marcelo Pereira Ranieri Valença Rosana Matos Valmir Sena.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Grupo: Arthur Cireno Rizzo (acr2) Eduardo Menezes Pires (emp) Paulo de Barros e Silva Filho (pbsf) Rafael Loureiro de Carvalho (rlc) Romero Teixeira Gonçalves.
Programação e Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.
Engenharia de Software Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro de Informática Universidade Federal de.
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Exceções.
Revisão Mini-Prova 1 Monitoria IP/CC (~if669).
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Orientação a Objetos e Java Alexandre Mota  Centro de Informática, UFPE.
Aprendendo como funciona o NHibernate Elvis Medeiros Programador .NET
Associação. 2 Desafio – Aula class Aluno { 2. private String nome; 3. private float nota; 4. public Aluno(String nome, float nota){ 5. this.nome.
Fluxo de Análise e Projeto do RUP para Sistemas de Tempo Real
Listas Duplamente Encadeadas Profs Prog2 e Lab2 Unisinos.
REFATORAÇÃO JOÃO LACERDA DJALMA LIMA. MARTIN FOWLER É um autor conhecido na área de arquitetura de software, especializado em análise orientada a objetos,
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.
Noções de projeto orientado a objetos - camadas Prof. Gustavo Wagner (alterações) Prof. Tiago Massoni (Slides originais) Desenvolvimento de Sistemas FATEC-PB.
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
ProgramaçãoConcorrente Glêdson Elias
Strings e Arrays Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
IDENTIFICAÇÃO DOS RELACIONAMENTOS Nesta atividade devem ser definidos os relacionamentos entre as classes Podem ser representados pela: – associação, –
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Tratamento de exceções em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de.
Função de buscar elemento na lista simplesmente encadeada
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Transcrição da apresentação:

Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados

Fachada servicos() Coleção de Negócio servicosEspecificos() 1..* Interface Negócio-dados inserir() remover() atualizar() procurar() > Coleção de dados Básica de negócio getDado() 0..* existe() inserir() remover() atualizar() procurar() existe() Negócio Dados GUI 1..* Arquitetura de software

Classes Básicas de Negócio public class Conta { private double saldo; private String numero; private Cliente correntista;... public void creditar(double valor) { saldo = saldo + valor; } Cliente, Livro, Animal, Veiculo

Interfaces Negócio-Dados public interface RepositorioContas { public void inserir(Conta conta) throws RepositorioException, ContaInvalidaException; public void atualizar(Conta conta) throws RepositorioException, ContaInvalidaException, ContaNaoEncontradaException; public void remover(String numero); throws RepositorioException, ContaInvalidaException, ContaNaoEncontradaException;... }

Classes Coleção de Dados public class RepositorioContasArray implements RepositorioContas {... public void inserir(Conta conta) throws ContaInvalidaException { if (conta == null) throw new ContaInvalidaException(); contas[indice] = conta; indice = indice + 1; }... }

Classes Coleção de Dados public class RepositorioContasArray {... public Conta procurar(String n) throws ContaNaoEncontradaException { int i = 0; boolean achou = false; while ((! achou) && (i < indice)) {... } if (achou) return contas[i]; else throw new ContaNaoEncontradaException(); }

Classes Coleção de Dados Persistentes public class RepositorioContasBDR implements RepositorioContas {... public void inserir(Conta conta) throws ContaInvalidaException, RepositorioException { try {... } catch(SQLException ex) { throw new RepositorioException(ex); } }... }

Classes Coleção de Negócio public class CadastroContas { private RepositorioContas contas;... public void cadastrar(Conta conta) throws ContaInvalidaException, RepositorioException, ContaJaCadastradaException { if (!contas.existe(conta.getNumero())) { contas.inserir(conta); } else throw new ContaJaCadastradaException(); }... }

Classe Fachada public class Banco { private CadastroClientes clientes; public void cadastrar(Conta conta) throws ContaInvalidaException, RepositorioException, ContaJaCadastradaException CorrentistaNaoCadastradoException { Cliente c = conta.getCorrentista(); if (clientes.existe(c.getCodigo()) contas.cadastrar(conta); else throw new CorrentistaNaoCadastradoException(); }... }