Home > Vídeos
CRUD, DAO - Curso Design Patterns - Parte 56
por Rodrigo Martins Pagliares
Tempo: 15‘02‘‘
Mini-Resumo: Esta é a oitava parte da oitava vídeo aula do curso de princípios de design e design patterns.
Nesta aula criaremos uma classe para testar o DAO Product desenvolvido em aulas passadas. É mostrada uma forma diferente de se implementar a classe de teste não automatizado para as operações CRUD de nosso DAO.
bean de entidade Product.
Tecnologias Utilizadas: Java 6, NetBeans 6.5, Plugin UML para o
NetBeans
Palavras chaves: Design Patterns, Padrões de Projeto, Princípios de Design, GOF
Mais videos deste curso
- Design Patterns - Parte 1: Introdução a Design Patterns e Princípios de DesignNesta vídeo-aula são discutidos uma visão geral sobre design patterns e princípios de design.
- Design Patterns - Parte 2: Princípio de Design: Programar Para uma InterfaceNesta vídeo-aula, continuamos a aula anterior, mostrando os problemas ocorridos ao se programar para uma implementação em vez de programar para uma interface.
- Design Patterns - Parte 3: Introdução a Design Patterns e Princípios de DesignNesta vídeo-aula, continuamos a aula anterior, mostrando os problemas ocorridos ao se programar para uma implementação em vez de programar para uma interface.
- Design Patterns - Parte 4: Introdução a Design Patterns e Princípios de Design Na primeira parte desta vídeo-aula, continuaremos a discussão sobre princípios de design, em especial o princípio de favorecimento da composição sobre a herança.
- Design Patterns - Parte 5: Favorecimento de Composição sobre HerançaNesta segunda parte da aula, continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança.
- Design Patterns - Parte 6: Favorecimento de Composição sobre HerançaNesta aula continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, atendendo a inclusão de novos requisitos
- Design Patterns - Parte 7: Favorecimento de Composição sobre HerançaNesta aula, continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, atendendo a inclusão de novos requisitos.
- Design Patterns - Parte 8: Favorecimento de Composição sobre HerançaNesta aula, continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, atendendo a inclusão de novos requisitos e finalizando mais uma possível abordagem de implementação.
- Design Patterns - Parte 9: Favorecimento de Composição sobre HerançaNesta aula, continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, atendendo a inclusão de novos requisitos e melhorando as soluções anteriores através do conceito de composição.
- Design Patterns - Parte 10: Favorecimento de Composição sobre HerançaNesta parte continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, utilizando delegação e composição para simular reuso de código.
- Design Patterns - Parte 11: Favorecimento de Composição sobre HerançaNesta aula continuaremos a discussão sobre o princípio de design de favorecimento da composição sobre a herança, utilizando delegação e composição para simular reuso de código. Também é exibida uma revisão dos diagramas de classes dos códigos intermediários desenvolvidos nas partes anteriores.
- Design Patterns - Parte 12: Encapsular o que Varia e o design pattern StrategyA partir desta vídeo aula discutiremos o princípio de design "Encapsular o que varia". Nesta primeira parte, criaremos nossa primeira versão do código.
- Design Patterns - Parte 13: Encapsular o que Varia e o design pattern StrategyNesta vídeo aula atendemos a necessidade de nosso cliente, incluindo novos requisitos. Mostramos nesta aula uma possível abordagem que funciona embora não seja a melhor solução, justificando a necessidade de melhorias no código.
- Design Patterns - Parte 14: Encapsular o que Varia e o design pattern StrategyNesta vídeo aula criamos uma abordagem diferente da usada na aula anterior com o intuito de resolver os problemas de duplicação de código nas subclasses e manutenção constante de cada inclusão de requisitos. Para isso, usaremos o conceito de Interface Java.
- Design Patterns - Parte 15: Encapsular o que Varia e o design pattern StrategyNesta vídeo aula iniciamos a aplicação do princípio de Encapsular o que Varia com o intuito de removermos os problemas existentes nas versões anteriores de nossa aplicação.
- Design Patterns - Parte 16: Encapsular o que Varia e o design pattern StrategyNesta vídeo aula terminaremos a implementação do princípio de Encapsular o que Varia.
- Design Patterns - Parte 17: Encapsular o que Varia e o design pattern StrategyNesta última vídeo aula sobre o princípio de design encapsular o que varia, fornecemos uma definição mais formal sobre patterns e apresentamos o patter Strategy, relacionando-o com nossa implementação desenvolvida em aulas anteriores.
- Classes abstratas - Curso Design Patterns - Parte 18Nesta aula entenderemos os conceitos de classes abstratas.
- Interfaces Java - Curso Design Patterns - Parte 19Nesta vídeo aula continuaremos nossa revisão sobre esses conceitos na linguagem através da criação de códigos para auxiliar o entendimento de conceitos fundamentais sobre classes abstratas e interfaces Java.
- Interfaces Marcadoras - Curso Design Patterns - Parte 20Nesta aula continuaremos nossa revisão sobre classes abstratas e interfaces Java. Em especial, discutiremos o conceito de Marker Interfaces.
- Stubs de Interfaces - Curso Design Patterns - Parte 21Nesta vídeo aula continuaremos nossa revisão interfaces Java.
- Class Adapter - Curso Design Patterns - Parte 22Nesta vídeo aula, apresentaremos a definição formal do pattern, incluindo seu diagrama de classes que será validado através de um cenário hipotético, tornando o aprendizado o mais simples possível.
- Propriedades da Class Adapter - Curso Design Patterns - Parte 23Nesta vídeo-aula, continuaremos a evolução do cenário discutido na aula anterior, aplicando o design pattern Adapter, mais especificamente uma variante deste pattern conhecida como Class Adapter.
- Object Adapter - Curso Design Patterns - Parte 24Nesta vídeo-aula, discutiremos sobre o design pattern Adapter, mais especificamente uma variante deste pattern conhecida como Object Adapter.
- Object Adapte, JTable - Curso Design Patterns - Parte 25Nesta vídeo-aula, terminaremos a discussão sobre o design pattern Adapter, mais especificamente uma variante deste pattern conhecida como Object Adapter.
- Facade - Curso Design Patterns - Parte 26Nesta vídeo-aula, iniciaremos a discussão sobre o design pattern Facade e do princípio de design do Conhecimento Mínimo, também conhecido como Lei de Demétrio ou Não Fale com Estranhos.
- Lei de Demérito - Curso Design Patterns - Parte 27Nesta vídeo-aula, continuaremos a discussão sobre o design pattern Facade e do princípio de design do Conhecimento Mínimo, também conhecido como Lei de Demétrio, evoluindo o código desenvolvido na aula anterior.
- Princípio do Conhecimento Mínimo - Curso Design Patterns - Parte 28Nesta parte da aula, vamos criar uma classe para simular um banco de dados e uma outra para testar nossa aplicação até o momento.
- Engenharia Reversa - Curso Design Patterns - Parte 29Nesta parte da aula, vamos fazer a engenharia reversa do código desenvolvido até este momento para podermos visualizar de forma mais intuitiva o design sendo confeccionado e mostrar seus pontos fracos, corrigindo-os com a aplicação do Facade.
- GOF - Curso Design Patterns - Parte 30Nesta parte da aula, vamos resumir o que vimos até então e tentar traçar um paralelo de nosso código com o framework para o Facade proposto pelo GOF.
- Design pattern facade - Curso Design Patterns - Parte 31Nesta parte final, vamos mostrar como refatorar nosso código desenvolvido em aulas anteriores para aderir ao princípio
- Singleton - Curso Design Patterns - Parte 32Nesta vídeo-aula, iniciaremos a discussão sobre o design pattern Singleton.
- Estratégia de Implementação - Curso Design Patterns - Parte 33Tendo justificado a necessidade de aplicação do pattern na aula anterior, vamos agora refatorar nossa solução e verificar se esta nova solução atende aos requisitos iniciais.
- Lazy singleton - Curso Design Patterns - Parte 34Especificamente, nesta e nas próximas vídeo-aulas, discutiremos técnicas e cuidados necessários na implementação do pattern.
- Técnicas de Implementação - Curso Design Patterns - Parte 35Após discutidos os problemas de se implementar a estratégia Lazy Singleton em ambiente multi-thread, apresentaremos uma solução simples para o problema utilizando a palavra reservada synchronized na assinatura de nosso método que retorna a instâ
- Facade e Singleton - Curso Design Patterns - Parte 36Especificamente, nesta aulas, iremos refatorar o design facade em aulas anteriores para a utilização de singletons, já que é muito comum termos fachadas implementadas desta forma.
- Fábrica Concreta - Curso Design Patterns - Parte 37Esta é a primeira parte da sétima vídeo aula do curso de princípios de design e design patterns. Nesta e nas próximas aulas vamos ater nossa atenção à construção de objetos através da técnica Fábrica Concreta, também conhecida com Fábrica Simple
- Projeto - Curso Design Patterns - Parte 38Nesta aula, damos continuidade à evolução de nosso cenário, criando um projeto para simular o sistema externo de estoque e iniciando a construção dos adaptatores.
- Teste: Fábrica Concreta - Curso Design Patterns - Parte 39No final desta aula, veremos que iremos conseguir fazer a comunicação com o sistema externo hipotético de contabilidade, tanto da IBM quanto da Itautec.
- Adaptadores e Controlador: Fábrica Concreta - Curso Design Patterns - Parte 40Nesta aula criaremos os adaptadores e o controlador para o sistema hipotético de estoque tanto da IBM quanto da Itautec
- Controlador, Teste: Fábrica Concreta - Curso Design Patterns - Parte 41Nesta aula criaremos o nosso controlador registradora que precisa acessar tanto o sistema de estoque quanto o sistema de contabilidade externos.
- Evolução de Requisitos: Fábrica Concreta - Curso Design Patterns - Parte 42Nesta aula iniciamos a discussão destacando duas características de qualquer software: Mudança de Requisitos e Evolução para acomodarmos novos requisitos.
- Objetos Adaptadores - Curso Design Patterns - Parte 43Nesta aula continuaremos a evolução de nosso cenário exibindo mecanismos mais flexíveis para se determinar quais objetos adaptadores devem ser criados no momento de startup da aplicação.
- Fábrica de Objetos - Curso Design Patterns - Parte 44Criaremos nessa aula nossa fábrica de objetos parametrizada, desacoplando o conhecimento dos objetos a serem criados de nossos clientes, que em nosso caso são os controladores.
- Fábrica Concreta - Curso Design Patterns - Parte 45Nesta aula vamos resumir o que foi feito até agora e discutir as vantagens deste no sso novo design utilizando uma fábrica concreta em relação à nossa versão anterior.
- Criação de Objetos - Curso Design Patterns - Parte 46Nesta aula, iniciamos a discussão de um novo cenário para exemplificarmos a questão de criação de objetos distintos em tempo de execução.
- Fábrica Concreta Parametrizada - Curso Design Patterns - Parte 47Nesta aula, finalizaremos nosso cenário de pagamentos com cartão de crédito e com cheque através da inclusão de uma fábrica concreta parametrizada.
- Adaptadores e Fábrica Concreta Parametrizada - Curso Design Patterns - Parte 48Nesta aula, retornaremos ao cenário de criação de adaptadores para sistemas externos, transformando nossa fábrica parametrizada em uma que lê qual classe instanciar a partir de uma propriedade do sistema.
- DAO - Curso Design Patterns - Parte 49Esta é a primeira parte da oitava vídeo aula do curso de princípios de design e design patterns. Nesta aula, dividida em diversas partes, discutiremos 3 padrões de projeto.
- Data Access Object - Curso Design Patterns - Parte 50Nesta aula inciaremos um cenário que será evoluído ao longo das partes desta vídeo-aula para que possamos justificar a inclusão destes patterns.
- JPA - Curso Design Patterns - Parte 51Nesta aula iniciaremos a construção de um DAO para encapsular os detalhes de comunicação com a camada de recursos de nossa aplicação utilizando o framework objeto relacional, JPA.
- Framework Objeto Relacional - Curso Design Patterns - Parte 52Nesta aula continuaremos a construção de um DAO para encapsular os detalhes de comunicação com a camada de recursos de nossa aplicação utilizando o framework objeto relacional, JPA.
- Manipulando o DAO - Curso Design Patterns - Parte 53Nesta aula continuaremos os testes sobre o DAO criado na aula anterior, persistindo diversos objetos, consultando, removendo e atualizando-os.
- Teste, DAO - Curso Design Patterns - Parte 54Nesta aula continuaremos os testes sobre o DAO criado na aula anterior. Aproveitaremos também para fazer a engenharia reversa de nosso modelo de domínio e de nossa camada de integração desenvolvida até o momento.
- Associação 1:1 - Curso Design Patterns - Parte 55Nesta aula faremos os testes da associação 1:1 entre Customer e Credential. Também iniciaremos a implementação do DAO representando o bean de entidade Product.
- CRUD, DAO - Curso Design Patterns - Parte 56Nesta aula criaremos uma classe para testar o DAO Product desenvolvido em aulas passadas.
- JPA e DAO - Curso Design Patterns - Parte 57Nesta aula terminaremos os testes dos nossos DAOs implementados com a tecnologia JPA e faremos uma revisão do que implementamos até então para, nas próximas aulas seguirmos em direção aos patterns factory method e abstract factory.
- Aplicando Fábrica Concreta - Curso Design Patterns - Parte 58Nesta aula usaremos a estratégia fábrica concreta vista em aulas anteriores para tirarmos de nossos códigos clientes o conhecimento da construção de objetos, centralizando a instanciação.
- Metamodelo GOF - Curso Design Patterns - Parte 59Nesta aula ilustraremos como o código desenvolvido até o momento se encaixa no metamodelo GOF para o pattern Factory Method.
- CustomerDAOJDBC - Curso Design Patterns - Parte 66Nesta aula continuaremos a implementação do nosso CustomerDAOJDBC.
- Refatoração - Curso Design Patterns - Parte 67Nesta aula removeremos o erro de consistência gerado em nosso banco de dados, explicaremos sobre a importância do uso de refactoring e iniciaremos a implementação do DAO ProductDAOJDBC.
- DAOs JDBC - Curso Design Patterns - Parte 68Nesta aula terminaremos a confecção do ProductDAOJDBC, criaremos uma fábrica concreta para DAOs JDBC seguindo a mesma linha de raciocínio usada nas partes sobre JPA e faremos os testes necessários.
- Camada de Persistência - Curso Design Patterns - Parte 69Nesta aula finalizaremos a implementação da nossa camada de persitência, derivando o design pattern Abstract Factory a partir do código em uma estratégia Bottom-Up.
- Pattern Abstract - Curso Design Patterns - Parte 70Nesta aula apresentaremos a definição formal do pattern Abstract juntamente com seu metamodelo
- Camada de Persistência - Curso Design Patterns - Parte 60Agora que já apresentamos o design pattern Factory Method, vamos evoluir nosso cenário para o uso do pattern Abstract Factory.
- Classe CustomerDAOJDBC - Curso Design Patterns - Parte 61Nesta aula daremos continuidade à implementação da classe CustomerDAOJDBC, em específico o método responsável por fazer a persistência de uma credencial associado com um cliente no banco de dados.
- Persistência e Transações - Curso Design Patterns - Parte 62Nesta aula, continuaremos a implementação do método persist do nosso CustomerDAOJDBC.
- Eclipselink, JPA - Curso Design Patterns - Parte 63Nesta aula veremos como customizar a geração do script DDL de criação de tabelas em um banco de dados quando usamos a implementação eclipselink para o JPA.
- Atualização de tabelas - Curso Design Patterns - Parte 64Nesta aula continuaremos a implementação do nosso CustomerDAOJDBC.
- Método findAll - Curso Design Patterns - Parte 65Nesta aula continuaremos a implementação do nosso CustomerDAOJDBC nos atendo ao método findAll(String name) presente em nosso DAO.
- Template Method - Curso Design Patterns - Parte 71Nesta aula apresentaremos a definição formal do pattern Template Method e começaremos a implementação do nosso cenário.
- Implementação Template Method - Curso Design Patterns - Parte 72Nesta aula continuaremos a implementação de nosso cenário que está sendo evoluído aula a aula com o objetivo de chegarmos ao design pattern TemplateMethod.
- Modelo de Domínio - Curso Design Patterns - Parte 73Nesta aula continuaremos a implementação do nosso modelo de domínio e iniciaremos a confecção de nossa classe de testes.
- Teste automatizado - Curso Design Patterns - Parte 74Nesta aula implementaremos um teste automatizado para teste da nossa lógica de negócios desenvolvida nas aulas anteriores.
- Cuidados necessários - Curso Design Patterns - Parte 75Nesta aula apresentarei as justificativas e cuidados necessários para o uso necessário da técnica de refatoração.
- Extrair Método - Curso Design Patterns - Parte 76Nesta aula apresentarei o primeiro refactoring feito no nosso cenário que é o Extrair Método.
- Mover Método - Curso Design Patterns - Parte 77Nesta aula apresentarei o refactoring Mover Método que pode ser justificado pelo princípio GRASP conhecido como Especialista da Informação,
- Reforçando Aprendizado - Curso Design Patterns - Parte 78Nesta aula apresentarei o refactoring Substituir Variável Temporária por Consulta e reforçarei o nosso aprendizado sobre os refactorings Extrair e Mover Método
- Código legível - Curso Design Patterns - Parte 79essa aula usarei novamente o refactoring Substituir Variável Temporária por Consulta para tornar nosso código mais legível.
- Novo requisito - Curso Design Patterns - Parte 80Nessa aula, após ter refatorado o método de geração de conta em texto plano, incluirei o novo requisito para geração de conta em HTML.
- Refatorando o código - Curso Design Patterns - Parte 81Nessa aula, simularemos a mudança de requisitos, justificando um momento apropriado para refatorarmos nosso código.
- Hierarquia de contas - Curso Design Patterns - Parte 82Nessa aula, iniciaremos a construção de uma hierarquia de contas para, em breve, podermos derivar o design pattern template method a partir de refactorings sucessivos.
- State - Curso Design Patterns - Parte 85Nesta última aulas, iremos desvendar os segredo do design pattern State.
- Design pattern State - Curso Design Patterns - Parte 86Nesta parte continuaremos a implemntação da nossa máquina de caça níqueis.
- Métodos auxiliares - Curso Design Patterns - Parte 87Nesta parte implementaremos os métodos auxiliares para realização do sorteio e verificação se houve ou não ganhador ao se gira a manivela no caça níqueis.
- Testes - Curso Design Patterns - Parte 88Nesta aula finalizaremos a implementação inicial de nossa máquina de caça níqueis e aproveitaremos para fazer alguns testes para verificar o comportamento obtido.
- Mudança de Requisitos - Curso Design Patterns - Parte 89Nesta aula atenderemos uma solicitação de mudanças de requisitos, incluindo a capacidade de pagamento de premiação extra para nossos apostadores.
- Template Method - Curso Design Patterns - Parte 83Nesta aula daremos continuidade ao estudo do design patterns Template Method.
- Conclusão Template Method - Curso Design Patterns - Parte 84Nesta aula, derivaremos o design patterns Template Method a partir do nosso exemplo e aproveitaremos para revisar a definição formal e metamodeos do pattern conforme definidos pelo GOF.
- Design Pattern State - Código Alternativo - Curso Design Patterns - Parte 90Nesta aula testaremos o código desenvolvido na aula anterior e nos prepararemos para uma implementação alternativa baseada no design pattern State.
- Implementação do Design Pattern State - Prós e Contras - Curso Design Patterns - Parte 91Nesta aula iniciaremos a implementação do design pattern State, contrastando com nossa implementação anterior.
- Padrão State - Hierarquia de Classes - Curso Design Patterns - Parte 92Nesta aula implementaremos a hieraquia de classes associada aos estados que a nossa máquina de caça-níqueis pode estar em determinado momento do tempo.
- Prós e contras em manter um método em estado separado - Curso Design Patterns - Parte 93Nesta aula terminamos a implementação da hieraquia de classes associada aos estados que a nossa máquina de caca-niqueis pode estar em determinado momento do tempo.
- Testes - Curso Design Patterns - Parte 94Nesta aula terminamos a implementação do nosso estudo de caso e aproveitamos para fazer alguns testes.
- Aula Final - Curso Design Patterns - Parte 95Nesta aula formalizaremos o pattern State contrastando com nossa solução. Aproveitamos para fazer uma breve revisão do que foi visto no decorrer do curso.

