
FJ-17
Aprimorando a Orientação a Objetos com Java
Aplique corretamente os conceitos de orientação a objetos!
Revisite profundamente encapsulamento, herança, interfaces e muito mais.
Online Beta
Sem receitas de bolo.
Acha que aprendeu orientação a objetos pois sabe algumas regras?
OO vai muito além, e regras fixas podem ser extremamente prejudiciais ao seu modelo. Reeduque-se para escrever melhor suas classes.
Coesão e acoplamento.
Pare de abusar da herança e dos getters e setters! Programe voltado à interface, use polimorfismo corretamente.
Entenda os conceitos de baixo acomplamento e alta coesão na prática. Adeus modelo anêmico!
Curso online
Duração estimada: 20h
Curso Intermediário
Instrutor
Público alvo
Desenvolvedores com experiência em programação Java que querem utilizar melhor os recursos da orientação a objetos, evitando erros comuns e modelagens ingênuas. Pré-requisito curso FJ-11 ou conhecimento equivalente.
Na exclusiva plataforma online da Caelum
Conheça a plataformaCaelum a qualquer hora
Tenha uma unidade da Caelum pra você: faça o curso a qualquer hora e em qualquer lugar.
Metodologia reconhecida
A mesma qualidade que faz da Caelum e seus instrutores referências em ensino há anos.
Experiência única
Aproveitamos nossa participação ativa em fóruns, blogs, listas e redes sociais para criar uma experiência online única. Confira!
Aprenda sempre
Você pode ver mais de uma explicação do mesmo assunto, com instrutores diferentes.
Dúvidas são passageiras
Suas dúvidas serão logo respondidas. Instrutores e alunos conversam e discutem a todo momento.
Muita prática
Diversos exercícios em um ambiente que estimula você a praticar e aprender de verdade.
Ensino colaborativo
Não só as aulas ensinam, mas todos que participam e trocam experiências.
Você, destaque no mercado
Aprenda as tecnologias que fazem diferença no mercado de trabalho e conquiste seu espaço.
Certificado virtual
Inclui certificado oficial Caelum online ao final do curso
Online Beta
Conteúdo do curso
Revisitando a Orientação a Objetos
- Classes com muitas responsabilidades
- Atributos privados com getters e setters
- Modelo anêmico
- Unindo dados e lógica
- Tell, don't ask
Melhorando a coesão de nossas classes
- Single Responsibility Principle
- Classes estáveis
- Baixo acomplamento, alta coesão
- Modificações em um único ponto
Herança: quando não usar
- Uso ingênuo da herança
- Problemas simples que surgem sempre
- Herança versus composição
Lidando com o acoplamento
- Separação de responsabilidades
- Agoritmos enxutos
- Dependência boa é dependência explícita
Reduzindo acoplamento com polimorfismo
- Programando voltado à interface
- Evitando ifs e reduzindo a complexidade ciclomática
- Iterable: polimorfismo nas coleções do java
Aumentando a flexibilidade com injeção de dependências
- Isolando as necessidades de um objeto
- Construtores fazendo a sua parte
- Usando polimorfismo para atender dependências

Luiz Real