POO – Programação Orientada a Objetos
Transcrição
POO – Programação Orientada a Objetos
POO - Programação Orientada a Objetos POO – Programação Orientada a Objetos Padrão BO (Business Object) Jefferson S. Silva IFET - PI Copyright © Jefferson S. Silva Slide 1 POO - Programação Orientada a Objetos BO Imagine como você faria para evitar que um cd ou uma música fossem gravados sem seus respectivos títulos. Você deveria testar se esse atributo recebeu algum valor antes do comando salvar. Copyright © Jefferson S. Silva Slide 2 1 POO - Programação Orientada a Objetos BO E se você quisesse validar outros atributos para saber se realmente eles não são nulos. E se você quisesse colocar um regra em que um cd não pode conter mais que 25 músicas ou não pode ter duração maior que 1h:30min. Seria interessante colocar todas essa regras nas classes TestaCd e TestaMúsica? Copyright © Jefferson S. Silva Slide 3 POO - Programação Orientada a Objetos BO É empregado para separar dados e lógica de negócio usando um modelo orientado a objeto. A classe BO fará, portando, o encapsulamento das regras de negócio e do gerenciamento da camada de persistência (dao). Copyright © Jefferson S. Silva Slide 4 2 POO - Programação Orientada a Objetos BO A classe BO é quem vai realizar as validações e levantar as exceções quando houver. – Possui os atributos: • Dao – objeto de persistência • Usuário – objeto com a informação de quem está logado no sistema (logs) Copyright © Jefferson S. Silva Slide 5 POO - Programação Orientada a Objetos BO Possui os métodos: – armazena, – procura, – remove – lista. – outros Copyright © Jefferson S. Silva Slide 6 3 POO - Programação Orientada a Objetos BO Vamos criar nossa primeira classe BO. Crie o pacote br.com.system.bo no seu projeto. Você deve criar uma Classe BO só para as principais classes do projeto. Não precisa criar uma classe, por exemplo, para ItemPedido, pois esse objeto será validado na classe Pedido. Copyright © Jefferson S. Silva Slide 7 POO - Programação Orientada a Objetos CdBO package br.com.system.bo; import java.util.List; import br.com.system.dao.Dao; import br.com.system.model.Cd; import br.com.system.model.Usuario; public class CdBO { private final Dao dao; public Usuario usuario; public CdBO(Dao dao) {this.dao = dao;} … Copyright © Jefferson S. Silva Slide 8 4 POO - Programação Orientada a Objetos CdBO public Cd armazena (Cd dto)throws Exception { if(dto.getTitulo().equals("")) throw new Exception("O campo Título deve ser preenchido"); return (Cd)dao.salva(dto); } public Cd procura(Cd dto){ return (Cd)dao.procura(dto.getId(), Cd.class); } public void remove (Cd dto)throws Exception{ dao.remove(procura(dto)); } … Copyright © Jefferson S. Silva Slide 9 POO - Programação Orientada a Objetos CdBO public List<Object> lista(Cd dto)throws Exception { return dao.listaTudo(Cd.class); } public void setUsuario(Usuario usuario) { this.usuario = usuario; } } Copyright © Jefferson S. Silva Slide 10 5 POO - Programação Orientada a Objetos Exercícios 01 Defina mais validações para a Classe CdBO e altere o método lista para utilizar critéria,assim faça busca por: •Id •Titulo •Genero •Artista Copyright © Jefferson S. Silva Slide 11 POO - Programação Orientada a Objetos Exercícios 02 Crie as classes BO para Música, Gênero e Artista Copyright © Jefferson S. Silva Slide 12 6 POO - Programação Orientada a Objetos Exercícios 03 Altere as classes de Testes para utilizar a camada BO Copyright © Jefferson S. Silva Slide 13 7