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

  1. Padrões de design do GoF
  2. AntiPadrões Brown et al.
  3. Refatoração por Fowler
  4. 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?

Foi útil?

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

  1. "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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top