Recomendação de livro OOAD:da teoria à prática [fechado]
-
23-09-2019 - |
Pergunta
Estou em busca de ser um bom desenvolvedor OO.OO me intriga, porque entendo os padrões, sei por que a composição oferece mais flexibilidade do que herança e mais sabedoria.Porém cheguei à conclusão que sei como implementar uma fábrica de um singleton, mas não sei como criar um design OO robusto.
Eu tenho um monte de livros
- Padrões de design do GoF
- AntiPadrões Brown et al.
- Refatoração por Fowler
- Código completo 2
Eles podem ser livros muito bons, mas não ensinam como arquitetar um aplicativo.Muitas vezes fico paralisado por algumas decisões muito básicas (exemplo).Estou procurando um livro que ensine quando e por quê.Existem muitos livros sobre martelos e pregos, mas ainda não encontrei um livro que conte algo sobre sua relação prática.
Qual livro foi mais importante para torná-lo um arquiteto/designer OO confiante?
Solução
O melhor livro que já li sobre OO é Bertrand Meyer Construção de software orientada a objetos.
É enorme, mas foi muito útil para mim. Ele abrange todos os aspectos do OO Design IMVHO.
Outras dicas
- "Construção de software orientada a objetos"Por Bertrand Meyer
Trabalho mais fundamental sobre orientação de objetos já publicada. Isso é absolutamente deve ter um livro para todos os programadores "orientados a objetos".
2. "Análise e design orientados a objetos com aplicativos"Por Grady Booch et al
Não é tão formal como o livro de Meyer, mas este livro pode abrir seus olhos em muitas perguntas no mundo orientado a objetos e no desenvolvimento de software em geral
3. "Padrões de design: elementos de software reutilizável orientado a objetos"Por Erich Gamma et al.
Este é o famoso livro "Gang of Four" sobre padrões de design
4. "Refatoração: Melhorando o design do código existente"Por Martin Fowler et al.
Este é outro livro clássico. A primeira parte descreve perfeitamente muitos problemas que o desenvolvedor de software moderno pode enfrentar durante seu trabalho: cheiros de código, legibilidade versus desempenho, desvantagens prematuras de otimização e muitos outros tópicos.
5. "Pensando em Java"Por Bruce Eckel
Este livro pode ajudar muitos iniciantes não apenas na língua Java, mas também de maneira orientada a objetos.
6. "Touch of Class: Aprendendo a programar bem com objetos e contratos"Por Bertrand Meyer
Excelente livro de livros de autor famoso.
Eu entendo perfeitamente sua situação. Também possui três desses livros;) eu sugeriria a primeira edição da cabeça. Análise e design orientados a objetos. Isso o levará nas faixas certas. O livro do GoF é ótimo, mas sem utilidade até você colocar o básico na sua cabeça e o primeiro livro da cabeça cuidará disso. Felicidades :)
Na verdade, fazer programação é uma ajuda maior do que ler sobre a programação.
"Paralisado por algumas decisões muito básicas" é um sintoma de um problema mais profundo-engenharia excessiva. Até que você construa muitas coisas, você realmente não sabe quais decisões importam e quais não importam.
A melhor maneira de obter a experiência necessária é construir muitas coisas.
O código Kata é muito, muito importante. http://slott-softwarearchitect.blogspot.com/search/label/code-kata
Além disso, colecionei um monte de código Kata que usei em um único projeto grande. http://homepage.mac.com/s_lott/books/oodesign.html
Roberto C.Martin "Desenvolvimento Ágil de Software:Princípios, Padrões e Práticas" que explica os princípios do OO
Eric Evans:"Domain Driven Design" trata de como fazer um bom design que corresponda ao seu problema de negócio
Martin Fowler:"Padrões de arquitetura de aplicativos corporativos" para princípios básicos de arquitetura corporativa
A única maneira de descobrir se um design é robusto é implementá -lo. Não existe um livro único que ensine como produzir projetos implementáveis, tudo se resume a experiência e talento. No entanto, eu faço o segundo lugar no livro de Bertrand Meyer - esteja ciente de que não o transformará em um Deus OO Design.
Craig Larman's Aplicando uml e padrões Resumiu muito sobre o que eu aprendi com a experiência. O que eu gosto é que ele aborda todos os aspectos do design de software - que inclui coisas como design e desenvolvimento iterativo. Não olhe muito duro para o uso da UML: as descrições de design são um meio para um fim, e eu achei a abordagem de Larman bastante pragmática. Você não pode simplesmente codificar: você precisa comunicar suas intenções (e entender o que é necessário). O código UML e de maneira limpa e bem comentada são alguns dos meios para esse fim.
E, é claro, como outros mencionam: nenhum livro fará de você um bom desenvolvedor ou designer. Mas pode ajudar a acelerar o processo.
Para um titular, sugiro a cabeça primeiro Análise e design orientados a objetos. Ele o guia para criar um aplicativo OO em um método simples de passo a passo intuitivo.
Embora me incline para o racional, encontrei esses dois para oferecer muitas informações sobre o OO Design.
- Aplicando UML e padrões - Craig Larman
- UML 2 e o processo unificado: Análise e design práticos orientados a objetos - Jim Arllow & Ila Neustadt