- Level Professional
- Course by Instituto Tecnológico de Aeronáutica
-
Offered by
About
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em lidar com cenários mais complexos, onde é difícil desenvolver software com código de qualidade com flexibilidade suficiente para facilitar a implementação de mudanças repentinas de requisitos. O objetivo deste curso é oferecer a você um aprofundamento em técnicas de programação orientadas a objetos pelo uso de padrões de projeto no contexto de desenvolvimento ágil. Os seguintes conceitos são apresentados neste curso: • Revisão de conceitos de orientação a objetos: abstração de dados, encapsulamento, herança e polimorfismo • Reúso por meio de herança: padrões Null Object, Template Method e Factory Method • Delegando comportamento com composição: padrões Strategy, Bridge, State e Observer • Composição recursiva: padrões Composite e Chain of Responsibility • Envolvendo objetos: padrões Proxy, Decorator e Adapter • Estratégias para criar objetos: padrões Static Fabric Methods, Singleton e Builder • Modularidade: padrão Dependency Injection Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar partes da aplicação Web final com o componente de gamificação enriquecido constantes do Trabalho de Conclusão da Especialização, aplicando onde apropriado alguns dos padrões apresentados neste curso durante a refatoração na prática TDD.Modules
Introdução e Visão Geral do Curso
1
Videos
- Welcome
5
Readings
- Sobre o Curso
- Livro para o acompanhamento do curso
- Formato do Exercício de Programação
- Ferramentas de Comunicação de Problemas aos Instrutores e para Troca de Experiência com Colegas de Curso
- Disciplina Consciente e Plágio nos Exercícios
Base Conceitual de Padrões de Projeto
1
Assignment
- Sobre Conceitos Essenciais para Padrões de Projeto
5
Videos
- Orientação a Objetos e Padrões
- Abstração de Dados
- Encapsulamento
- Herança
- Polimorfismo
Introdução a Padrões de Projeto
1
Assignment
- Sobre Padrões de Projeto e Padrão Strategy
5
Videos
- Entendendo Padrões com um Exemplo
- Strategy: Seu Primeiro Padrão
- Elementos dos Padrões
- Entendendo mais sobre Padrões
- Hands-on: Padrão Strategy
1
Readings
- Introdução a Padrões de Projeto
Criação de Objetos – Parte 1
1
Assignment
- Sobre Static Factory Methods
6
Videos
- Problemas com o Uso de Construtores: Parte 1
- Problemas com o Uso de Construtores: Parte 2
- Problemas com o Uso de Construtores: Parte 3
- Seis Problemas no Uso de Construtores
- Static Factory Methods – Parte 1
- Static Factory Methods – Parte 2
Classificação dos Padrões de Projeto desta Semana de Acordo com o GoF
1
Readings
- Padrões de Projeto desta Semana
Graded Quiz
1
Assignment
- Avaliação Semanal
Padrões Utilizando Herança
7
Videos
- Como Não Usar Herança
- Uso Apropriado de Herança
- Padrão Null Object
- Hands-on: Padrão Null Object
- Hook Methods
- Padrão Template Method
- Criação de Objetos – Parte 2: Padrão Factory Method
Padrões Utilizando Composição
6
Videos
- Quando a Herança não Funciona
- Padrão Bridge
- Hook Classes
- Padrão State
- Padrão Observer
- Hands-on: Padrão Observer
Practice and Graded Quizzes
2
Assignment
- Exercícios de Prática
- Avaliação Semanal
Classificação dos padrões de Projeto desta Semana de Acordo com o GoF
1
Readings
- Padrões de Projeto desta Semana
Padrões Utilizando Composição Recursiva
5
Videos
- O Que é Composição Recursiva?
- Composição Recursiva com Polimorfismo
- Padrão Composite
- Hands-on: Padrão Composite
- Chain of Responsibility
Padrões Utilizando Encapsulamento
4
Videos
- Padrões Proxy e Decorator
- Exemplos de Proxies
- Hands-on: Padrão Proxy
- Padrão Adapter
Criação de Objetos – Parte 3
3
Videos
- Características do Padrão Singleton
- Padrão Singleton: Quando Usar e Quando Não Usar
- Padrão Lazy Singleton
1
Readings
- enum Singleton: O Melhor Singleton em Java
Practice and Graded Quizzes
2
Assignment
- Exercícios de Prática
- Avaliação Semanal
Classificação dos padrões de Projeto desta Semana de Acordo com o GoF
1
Readings
- Padrões de Projeto desta Semana
Criação de Objetos – Parte 4
2
Videos
- Hands-on: Padrão Builder – Parte 1
- Hands-on: Padrão Builder – Parte 2
3
Readings
- Padrão de Projeto Builder: O Que É e Motivação
- Padrão de Projeto Builder Aninhado
- Padrão de Projeto Builder Completo
Modularidade: Padrão de Projeto Injeção de Dependências
3
Videos
- Padrão Injeção de Dependências: O Que É e Objetivos
- Padrão Injeção de Dependências: Contexto da Injeção
- DI Design Pattern
Practice Quiz
1
Assignment
- Sobre Builder e Dependency Injection
Componente de Gamificação com Padrões
1
Peer Review
- Componente de Gamification Utilizando Padrões
Auto Summary
Explore advanced object-oriented programming techniques with a focus on agile development in the "Desenvolvimento Ágil com Padrões de Projeto" course by Coursera. Enhance your Java skills through patterns like Strategy, Singleton, and Dependency Injection. Ideal for professionals, this course offers flexible subscription options to suit your learning needs.

Clovis Fernandes

Eduardo Guerra