Programação

Orientação a Objetos: Melhores técnicas com Ruby

Curso online de Orientação a Objetos: Melhores técnicas com Ruby

375 7.6

7,6

é a nota desse curso

3.677

alunos neste curso

Faça esse curso e...

  • Orientação a objetos muito além de regrinhas
  • Aprenda quando não usar Herança
  • Menor acoplamento com polimorfismo
  • Mais flexibilidade com Injeção de Dep.
  • Melhore a Coesão de uma classe
  • O princípio Tell don't Ask

Carreiras com esse curso

Veja o primeiro vídeo

Público alvo

Desenvolvedores com experiência em programação Ruby e que querem aprender mais sobre orientação a objetos, evitando modelagens ingênuas. Curso para ruby 1.9 ou mais recente.

Nível de Dificuldade

Básico

Instrutores

  • Guilherme Silveira

    Guilherme co-fundou a Caelum, a Alura e o GUJ. Com mais de 15 anos de experiência no ensino de programação e habilidades digitais, coordena as equipes de produção de cursos na Alura. É tecnólogo com viés matemático e medalhista de ouro em competições nacionais de computação, representando o Brasil nos mundiais. Participante ativo da comunidade open source e de educação em tecnologia, autor de 7 livros da área.

  • Rodrigo Turini

    Rodrigo é líder de tecnologia na Caelum. Como desenvolvedor, seu maior foco é em Java, JavaEE, POO, SOLID e Design Patterns mas tem conhecimentos avançados e experiência com Agile, gerenciamento de produto e análise de dados. É autor de 6 livros sobre POO, Java, APIs e frameworks. Como participante ativo da comunidade fez contribuições em eventos nacionais e internacionais e é grande entusiasta de open source.

Já é aluno?

Começar o Curso

Conteúdo Detalhado

  1. Revisitando a Orientação a Objetos

    • Classes com muitas responsabilidades
    • Atributos privados com accessors
    • Unindo dados e lógica
    • Encapsulamento
    • Extraindo métodos
  2. Modelos anêmicos e encapsulamento

    • Modelo anêmico
    • O que é encapsulamento?
    • Tell, don't ask
    • Evoluindo código encapsulado
  3. Responsabilidades e coesão dos objetos

    • Modificações em um único ponto
    • Classes abertas
    • Modificando objetos dinamicamente
    • Quebrando compatibilidade
    • Módulos
  4. Enxugando seu código

    • Organizando seu código
    • Criando um ranking
    • Usando o Count, Sort, Select e Lambdas
    • Criando diversos rankings
  5. 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?
  6. Extraindo comportamento e duck typing

    • Representando tipos através de classes
    • Interface pública e métodos
    • Duck typing
    • Dificuldades do duck typing
  7. Herdando comportamento através de mixins e polimorfismo

    • Extraindo módulos
    • Herança
    • Acesso a métodos privados
    • Usando polimorfismo para atender dependências
  8. 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

Escolha o seu plano e vamos começar

  • Cursos
  • Certificado de participação
  • Todas as formações

    Guias de estudo completo para você iniciar em uma nova área de tecnologia

  • Projeto avaliado pelos instrutores

    Projeto de conclusão das Formações com avaliação dos professores da Alura e certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Curso online de inglês técnico para aprimorar seu conhecimento

Premium
  • 644
12X
R$75

à vista R$900

Matricule-se
Premium Plus
  • 644
12X
R$100

à vista R$1.200

Matricule-se
Max
  • 644
12X
R$120

à vista R$1.440

Matricule-se
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana