Acho que isso acontece por que a maior parte dos professores universitários não gastou muito tempo de fato escrevendo programas orientados a objetos.
Olhando sistemas bem escritos, vejo que os tipos de classes estão divididas em:
- Domínio - representam entidades do mundo real e não precisam ter métodos além dos necessários para encapsular dados;
- Utilitárias - são classes para problemas recorrentes, como para gerenciar listas ou representar datas;
- Estruturais - são as classes que dão estrutura ao sistema e que determinam quais os pontos de configuração ou extensão;
- Comportamentais - são as classes que executam as tarefas-fim do sistema.
A tabela abaixo mostra uns exemplos de classes de cada tipo:
Tipo | Exemplos |
---|---|
Domínio | Pessoa, Conta, Processo |
Utilitárias | Date, ArrayList, BigDecimal |
Estrutura | Controller, Scheduler |
Comportamentais | Actions, DAOs, Views |
Por isso, acho que é preciso ensinar programação de uma maneira diferente. No lugar de aprender escrevendo, seria mais interessante antes analisar programas escritos por pessoas experientes. Padrões de Projeto são um passo interessante nessa direção, mas não suficiente.
A melhor aula de programação que eu tive foi de Lisp, porque a professora estava acostumada a escrever muitos programas em Lisp.
Nenhum comentário:
Postar um comentário