
RR-17
Aprimorando a Orientação a Objetos com Ruby
Aplique corretamente os conceitos de orientação a objetos!
Revisite profundamente encapsulamento, herança, módulos, open classes e muito mais.
Curso Online
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.
Chega de abusar de herança e acessores públicos! Programe voltado à interface, use polimorfismo corretamente.
Entenda os conceitos de baixo acomplamento e alta coesão na prática. Adeus modelo anêmico! Adeus código espalhado em todos os cantos.
Curso online
Duração estimada: 28h
Seções e vídeos: 9
Exercícios: 56
Curso Básico
É necessário conhecimentos da linguagem Ruby e noções de Orientação a Objetos.
Instrutor
Público alvo
Desenvolvedores com experiência em programação Ruby que querem utilizar melhor os recursos da orientação a objetos, evitando erros comuns e modelagens ingênuas. Pré-requisito curso RR-71, FJ-11 ou conhecimento equivalente.
Opções de compra
Assinatura Semestral
acesse 2 cursos/mêsIndividual
acesso somente a este cursoNa 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
Conteúdo do curso
Revisitando a Orientação a Objetos
- Classes com muitas responsabilidades
- Atributos privados com accessors
- Unindo dados e lógica
- Encapsulamento
- Extraindo métodos
Modelos anêmicos e encapsulamento
- Modelo anêmico
- O que é encapsulamento?
- Tell, don't ask
- Evoluindo código encapsulado
Responsabilidades e coesão dos objetos
- Modificações em um único ponto
- Classes abertas
- Modificando objetos dinamicamente
- Quebrando compatibilidade
- Módulos
Enxugando seu código
- Organizando seu código
- Criando um ranking
- Usando o Count, Sort, Select e Lambdas
- Criando diversos rankings
Generalizando comportamento através do method_missing
- Código repetitivo e desconhecido
- Métodos não existentes
- Como receber qualquer mensagem e o method_missing
- Respondendo por um método novo através do respond_to?
Extraindo comportamento e duck typing
- Representando tipos através de classes
- Interface pública e métodos
- Duck typing
- Dificuldades do duck typing
Herdando comportamento através de mixins e polimorfismo
- Extraindo módulos
- Herança
- Acesso a métodos privados
- Usando polimorfismo para atender dependências
Quando usar Herança
- Extraindo comportamento comum no construtor
- Módulos e construtores
- Herança de classes e construtores
- Herança e módulos
- Problemas simples que surgem sempre
- Alto acoplamento
Guilherme Silveira