Programa do Curso

A necessidade de uma programação orientada para os objectos

  • Uma tentativa de refletir o mundo real na programação

  • As origens e a evolução da programação orientada para objectos

  • A abordagem da programação orientada para objectos Programowanie obiektowe em termos dos princípios KISS e DRY

Classes e objectos

  • Ideias e entidades na filosofia de Platão

  • O papel das classes

  • Implementação de classes através de objectos

  • Classes, propriedades e métodos estáticos

Convenções de nomeação e codificação

  • Nomeação de classes

  • Nomeação de propriedades e métodos

  • Nomeação de pacotes e pastas

  • Outras convenções

Estrutura das classes

  • Propriedades/campos como descrição do estado do objeto

  • Acessores

  • Métodos como implementação de funcionalidades

Modelação e representação gráfica de classes

  • Análise de requisitos
  • Modelação da estrutura e das relações entre classes
  • Descrição de objectos de negócio
  • Diagramas EER
  • Diagrama de classes UML

Paradigmas de programação orientados para os objectos

  • Conceito de paradigma

  • Hermetização

  • Abstração

  • Herança

  • Polimorfismo

Conceção e implementação da camada de abstração

  • Classes abstractas

  • Interfaces

  • Traços

  • Cláusulas aninhadas

  • Classes genéricas

Criação de objectos

  • Formas de criação de objectos

  • O papel do construtor

  • Padrão de fábrica

Relações entre classes

  • Agregação

  • Composição

  • Decomposição de dependências - Desacoplamento

  • Injeção de dependência, contentores DIC

  • Padrão de mediador

Organização do código

  • Conceção de código reutilizável

  • Estrutura de pastas

  • Namespaces, pacotes, módulos

[e desempenho

  • Reserva de memória para objectos

  • Coletor de lixo

  • Eliminação explícita de objectos, destruidores

  • Trabalhar com referências

Mecanismo de reflexão

  • Área de aplicação da reflexão

  • Obtenção de informações sobre classes e objectos

  • A importância da reflexão na documentação e nos testes de software

Tratamento de erros

  • Modelos possíveis de tratamento de erros

  • Modelo de tratamento de erros orientado a objectos

  • Papel das excepções e da classe Exception, lançamento e captura de excepções

  • Bloco Try-catch-final, aninhamento de um bloco

Antipadrões de programação orientada para os objectos

  • Excesso de responsabilidade das classes, padrão de delegação

  • Dependências fortes

  • Singleton e potenciais problemas

  • Modelo de domínio anémico

  • Outros antipadrões

Requisitos

Os formandos devem ter conhecimentos básicos de programação.

 21 Horas

Declaração de Clientes (2)

Próximas Formações Provisórias

Categorias Relacionadas