1. INTRODUÇÃO A
ORIENTAÇÃO A OBJETOS
"Qualquer um pode escrever um código que
um computador possa entender. Bons
programadores escrevem códigos que seres
humanos possam entender." - Martin Fowler
2. UM POUCO DE HISTÓRIA
Uso de goto.
Dificuldade de compreensão do fluxo de execução.
Programação estruturada.
Funções.
3. CONCEITOS DE ORIENTAÇÃO A
OBJETOS
Reflete o mundo real.
Descreve de maneira mais precisa os dados;
A decomposição é baseada em um particionamento natural; e
Mais fácil de entender e manter.
Dados juntos com comportamento.
Reutilização de código.
4. CLASSES E OBJETOS
Classe:
Abstração de algo do mundo real;
Possuem estado e comportamento.
Objeto:
Entidade concreta;
Possui os valores para características da classe;
Realizam comportamentos.
Exemplo:
Gato seria uma classe.
Garfield e Frajola seriam objetos.
5. CLASSES E OBJETOS
Se suas classes não representam
abstrações do sistema e são apenas
repositórios de funções, você na
verdade esta programando segundo o
paradigma estruturado.
6. MODELO ANÊMICO
Repetição de código, dificuldade de
manutenção, propagação de bugs, e etc.
Dividido em 3 camadas diferentes, a
camada de modelo;
a camada de regras de negócio; e
a camada de acesso a dados.
7. MODELO RICO
“A introdução de abstrações adequadas é a nossa única ajuda
mental para reduzir o apelo à enumeração, para organizar e
dominar a complexidade.” – Edsger Dijkstra
Favoreça a imutabilidade e simplicidade.