Home > Vídeos
Interfaces Java - Curso Design Patterns - Parte 19
por Rodrigo Martins Pagliares
Tempo: 19‘56‘‘
Mini-Resumo: O correto entendimento do uso de classes abstratas e interfaces Java é essencial a qualquer desenvolvedor que pretenda aprender sobre design patterns em Java. Assim sendo, nesta segunda parte da quarta 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.
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.

