Muito do que eu aprendi em relação a Orientação a Objetos foi com os conceitos apresentados durante as aulas da faculdade e depois em meet ups, cursos, POCs e a prática ao criar soluções orientadas (e não orientadas) a objetos no trabalho. Meu objetivo aqui é te dar uma visão geral sobre como começar a estudar OO e deixar algumas boas referências no assunto.
Posso dizer que OO é um tema complexo, estou sempre aprendendo e refinando mais a respeito, e que é uma tarefa um tanto difícil criar soluções 100% orientadas a objetos. Depois de iniciar meus estudos em OO fui trabalhar com Java e notei que a maioria das implementações não seguia as boas práticas e recomendações deste paradigma de programação, mas sim de um outro, o Procedural, e acredito que o uso mais refinado da orientação a objetos vem evoluindo com o passar do tempo, da mesma forma que outros paradigmas são lançados e ganham território no mercado de trabalho, como o Funcional.
Então, não estranhe se perceber que aquilo que estudou não é aplicado em vários lugares. Alguns dos motivos para isso acontecer são: a falta de conhecimento e prática em OO, facilitação e limitação que muitos frameworks geram, o hábito de usar programação procedural e o pensamento a curto prazo.
Independente do material que vai usar para estudar, recomendo que dê foco em aprender: abstração, classes e objetos, coesão, acoplamento, composição e agregação, encapsulamento, polimorfismo e herança. Seguem algumas boas referências que conheço no assunto.
Livros
- Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva
- Orientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis
- Padrões de Projetos: Soluções Reutilizáveis de Software Orientados a Objetos
- Use a Cabeça!: Padrões de Projetos
Cursos Online
- Introdução à Programação Orientada a Objetos (POO) – Fundação Bradesco
- Java e Orientação a Objetos – Alura
- Expert em Orientação a Objetos – Alura
- SOLID com Java: Orientação a Objetos com Java – Alura
Blogs
Ao meu ver, a principal vantagem de conhecer e aplicar orientação a objetos está na coesão entre as relações da representação de objetos com o que existe no mundo real. Em outras palavras, acredito que seja muito mais simples para qualquer pessoa entender o que um sistema está fazendo ao abstrair o mundo real em objetos, visualizando suas características e comportamentos.
Gostou? Sentiu falta de algum material de apoio? Comenta ai e vamos aprender mais juntos.
Espero ter te ajudado 😉
2 comentários Adicione o seu