Descrição geral
O livro tem 250 páginas e é composto por 12 capítulos. Além da informação textual, o material é apresentado graficamente (imagens, fluxogramas e diagramas) e com trechos de código. Embora não haja muitos fragmentos de código para um livro desse tipo. Ao final de cada capítulo aparece um resumo do conteúdo abordado. Se não levarmos em conta que o livro é um pouco enfadonho, o nível de dificuldade fica entre fácil e médio.
Descrição breve
Vamos listar brevemente o conteúdo dos capítulos.
- Capítulo 1. Introdução aos conceitos orientados a objetos. São enumerados brevemente os conceitos fundamentais. São analisadas classes, objetos, métodos e coisas semelhantes.
- Capítulo 2. Como pensar de forma orientada a objetos. Aqui se trata de quando e onde aplicar a OOP. Também se fala sobre interfaces.
- Capítulo 3. Outros conceitos orientados a objetos. São abordados construtores, sobrecarga de métodos e operadores, tratamento de exceções e outros tópicos.
- Capítulo 4. Anatomia de uma classe. A estrutura da classe é analisada com mais detalhe. Muito atenção é dada aos modificadores de acesso.
- Capítulo 5. Guia de projeto de classes e Capítulo 6. Projeto com uso de objetos. Ambos os capítulos contêm orientações sobre como projetar classes de modo que sejam testeáveis, mantidas e escaláveis.
- Capítulo 7. Herança e composição. O título deste capítulo diz tudo por si.
- Capítulo 8. Frameworks e reutilização: projeto com utilização de interfaces e classes abstratas. O título não reflete totalmente a realidade. Aqui não se trata do trabalho dentro de frameworks, como Spring ou Laravel. Refere‑se mais a diagramas UML.
- Capítulo 9. Criação de objetos e projeto orientado a objetos. São exploradas as particularidades da composição: agregação e associação.
- Capítulo 10. Padrões de projeto. São mencionados brevemente três grupos de padrões.
- Capítulo 11. Evitar dependências e classes fortemente acopladas e Capítulo 12. Princípios SOLID de projeto orientado a objetos. Esses capítulos também falam por si mesmos. São descritos os benefícios da injeção de dependências e do SOLID.
Opinião
Embora a programação funcional esteja mais em voga do que a OOP, muitas linguagens de programação populares ainda suportam e promovem a filosofia de programação orientada a objetos. Este livro é um bom guia para quem deseja se familiarizar com a OOP. Infelizmente, não me trouxe muitos conhecimentos novos, pois já havia experimentado a OOP em diversas linguagens antes.