JavaRush /Blogue Java /Random-PT /Resenha do livro “Head First Design Patterns”
Alex
Nível 37

Resenha do livro “Head First Design Patterns”

Publicado no grupo Random-PT
Entre as pessoas que estão pelo menos minimamente familiarizadas com a série Use a Cabeça!, há muitos que consideram essa literatura uma leitura bastante superficial para iniciantes. O que posso dizer, é improvável que você consiga estudar profundamente um tema complexo na área de programação em 48 horas. No entanto, é difícil argumentar que Design Patterns seja um livro que será um guia útil de programação para iniciantes. Este livro é um dos dez mais populares no Stackoverflow e por um bom motivo. A facilidade de apresentação, o tema fundamental e os exemplos de alta qualidade tornam o livro popular agora e, na minha opinião, por muitos anos. Resenha do livro “Head First Design Patterns” - 1

Características do livro

Os padrões de design de cabeça nos dizem o que são padrões, como usá-los e como pensar sobre eles. Um padrão é um modelo, uma solução universal para um conjunto específico de problemas. Os padrões de projeto são, por sua vez, soluções arquitetônicas comumente usadas que podem ser usadas para escrever aplicativos flexíveis e fáceis de usar. Desenvolvedores em todo o mundo resolvem os mesmos problemas com as mesmas abordagens. Como diz a anotação, se você não quiser reinventar a roda, use modelos de design (padrões) prontos, com os quais este livro se dedica a trabalhar . Separadamente, vale destacar a apresentação do material: os livros da série Use a Cabeça! são famosos por sua simplicidade e são lidos de uma só vez. “Padrões de Design” não é exceção. Também adere aos seguintes princípios fundamentais:
  1. Visibilidade
  2. Estilo conversacional de apresentação
  3. Um grande número de ilustrações
  4. Participação ativa do leitor
  5. Apelo às emoções
  6. Chamando a atenção do leitor
Os autores do livro utilizam com competência a teoria da metacognição para apresentar o material: para mim, as primeiras 100 páginas passaram despercebidas. A beleza desta abordagem é que o cérebro realmente se lembra do que lê. A combinação de diversos estilos narrativos, questões interessantes, redundância e criatividade - tudo isso ajuda o leitor a não perder o interesse pelo tema principal. Antes de comprar o livro, fiquei hesitante depois de ler críticas mistas. No entanto, depois de folhear rapidamente várias outras fontes sobre esse assunto, decidi: para mergulhar nos padrões, este livro é o que você precisa.

Tema principal e ideia chave

“Certamente alguém já resolveu o seu problema” - é assim que começa o primeiro capítulo do livro, transmitindo todo o significado dos padrões de design na programação. O objetivo principal é transmitir corretamente o seu significado ao leitor, pois antes de tudo o programador deve saber para que servem os padrões e em que ponto eles precisam ser aplicados. Essencialmente, primeiro você precisa classificar os modelos em pequenos pedaços em sua cabeça e só depois implementá-los em programas. Se um iniciante em programação tiver um bom entendimento de padrões, seu uso pode complicar bastante o código (mas deve simplificá-lo!). À pergunta “Por que os padrões de projeto devem ser usados?” O livro dá uma resposta clara: “Conhecer conceitos como abstração, herança e polimorfismo não faz de você um bom designer OO. Os padrões contêm experiência comprovada em design OO.”

"Resumo"

O livro está dividido em 14 capítulos mais uma introdução. No início, os autores do livro tentam preparar o leitor, afinar seu cérebro para perceber corretamente as informações sobre o design de padrões. O primeiro capítulo explica o princípio básico dos padrões e a que finalidade eles servem. Um dos padrões mais utilizados – a estratégia – é examinado de maneira fácil e discreta. Os capítulos dois a onze são dedicados a uma análise detalhada de padrões individuais :
  1. Observador. Distribui eventos entre objetos interessados ​​em sua ocorrência.
  2. Decorador. Outra análise da herança em Java e da concessão de novos recursos às classes Java sem modificar o código.
  3. Fábrica. O padrão salva o código de dependências indesejadas.
  4. Solteiro. Também conhecido como Singleton, permite criar um único objeto de classe para todo o programa.
  5. Equipe. O padrão permite encapsular convenientemente uma chamada de método, expandindo seus recursos.
  6. Adaptador e Fachada. Resolvendo o problema de incompatibilidade de interface, bem como empacotando objetos para simplificar sua interface.
  7. Método de modelo. Encapsulamento de blocos algorítmicos, permitindo que subclasses se associem ao algoritmo de processamento desejado a qualquer momento.
  8. Iterador e vinculador. O padrão fornece uma ferramenta conveniente para iterar coleções, independentemente do seu tipo. Além disso, o capítulo fornece algumas informações sobre supercoleções.
  9. Estado. Os objetos são dotados da capacidade de controlar seu comportamento por meio de mudanças em seu estado interno.
  10. Deputado. Um padrão muito conveniente para controlar o acesso a um objeto.
O Capítulo 12 examina padrões compostos, ou melhor, combinações de alguns dos padrões discutidos, que podem ser usados ​​para construir arquiteturas de software poderosas. O Capítulo 13 é dedicado ao uso de padrões em problemas reais, são apresentadas a classificação dos padrões, suas variedades e diretrizes para uso. O livro serve como um apêndice ao Capítulo 14, que cobre uma gama mais ampla de padrões. Cada um deles é útil à sua maneira, por isso conhecê-los é mais do que desejável. É claro que eles não são tão populares quanto os padrões dos capítulos 2 a 11, mas isso não os torna menos úteis. O livro não pretende ser uma apresentação academicamente precisa da teoria dos padrões. Mas se os livros Use a Cabeça primeiro forem tão meticulosos, os aspirantes a desenvolvedores não terão a chance de descobrir o que é e esclarecer o básico por si próprios. Esta é uma maneira simples e conveniente de aprender o que são padrões de projeto para quem não está familiarizado com eles. Segundo os autores, Design Patterns é um livro indicado para quem já está familiarizado com Java (ou C#), quer aprender os princípios do design orientado a objetos e prefere conversas animadas a palestras chatas. Este livro não é um livro de referência! Se você é um desenvolvedor profissional com experiência e trabalha com pelo menos parte desses padrões, é improvável que o livro seja do seu interesse. Um componente importante do livro são os exercícios: você não deve ignorá-los. Se você ler o livro com atenção e, em casos extremos, fizer uma pesquisa mínima na Internet, resolvê-los não lhe trará dores de cabeça. Mas definitivamente haverá benefícios. No mínimo, você compreenderá mais profundamente a teoria apresentada no livro.

Vantagens e desvantagens

Eu, como muitos dos que estudam no JavaRush, tenho uma atitude fria em relação a palestras chatas, material abarrotado e outras violências contra o psiquismo de um aluno sedento por conhecimento. A energia gasta na memorização de textos incompreensíveis, na minha opinião, é melhor gasta na busca de fontes alternativas de aprendizagem. Este livro vale seu tempo e esforço. Um excelente estilo de apresentação, um gerenciamento competente da atenção do leitor e a repetição de pontos-chave constituem a principal vantagem deste livro - a facilidade de assimilação do material . Um grande número de ilustrações é uma vantagem adicional. Na minha opinião, cada imagem do livro tem o seu lugar: todas permitem reforçar as palavras dos autores e obter uma compreensão mais profunda da essência do material. Como escrevi acima, este livro não é um livro de referência: seus autores não pretendem listar todos os padrões. Sua principal tarefa é proporcionar compreensão e falar sobre os padrões básicos para que outros, mais complexos, sejam mais fáceis de entender. E ela lida com isso 100%. Entre as desvantagens está que os padrões de design Head first em russo não são tão fáceis de ler como em inglês. É claro que todo desenvolvedor deve falar inglês, mas os programadores novatos nem sempre desenvolvem essa habilidade a tal ponto que possam ler livros no original. No entanto, isso pode ser considerado um sinal de menos forçado, uma vez que o material é apresentado com bastante precisão e o significado é preservado.

Livros adicionais sobre padrões de design

Sou um defensor da crença de que é melhor estudar tópicos fundamentais de diversas fontes e procurar neles um estilo de apresentação adequado. Quando você quiser mergulhar em padrões e ler teorias adicionais, acredite, você terá algo com que ocupar suas noites.
  1. Técnicas de design orientado a objetos. Padrões de Projeto (Gamma E., Helm R., Johnson R., Vlissides J.).

    Resenha do livro “Design Patterns” (Head First Design Patterns) – 2

    Esta é uma publicação mais séria, um livro de referência de padrões, um livro muito respeitado da “Gangue dos Quatro”. Muitos a chamam de bíblia do design OO.

    Na Internet, as opiniões dos desenvolvedores estão divididas em 3 campos:

    • alguns argumentam que o livro está desatualizado e o estilo de apresentação impossibilita a leitura
    • outros recomendam usar o livro apenas como referência sobre padrões, nada mais
    • outros ainda dizem que o livro é o Santo Graal dos padrões de design e deve ser lido por qualquer pessoa que queira um dia se tornar um Desenvolvedor Java Sênior
    Sou adepto do segundo grupo: acho que o livro vale muito a pena, mas lê-lo para desenvolvimento, e não para buscar alguma informação, é muito difícil.

    Importante:Os exemplos do livro estão escritos em C++.

  2. JavaEE. Padrões de design para profissionais (Murat Yener, Alex Fidom).

    Resenha do livro “Design Patterns” (Head First Design Patterns) – 3

    Este livro é dedicado ao design de aplicações empresariais: ele cobre muitos exemplos de problemas de aplicações da vida real.

  3. Padrões de projeto em Java (Grand M.).

    Resenha do livro “Design Patterns” (Head First Design Patterns) – 4

    O livro demonstra de forma colorida como o uso de padrões economiza tempo dos desenvolvedores, fornece uma visão geral da linguagem UML e descreve 47 padrões de projeto.

Padrões de projeto em JavaRush

No curso JavaRush, os padrões de design são aprendidos no nível 7 da missão Java Collections. As aulas 1 e 2 são dedicadas aos padrões mais comuns e na aula 4 você pode resolver problemas neste tópico. Abaixo estão alguns artigos interessantes para “se fortalecer”:
  1. Um artigo geral sobre o tema padrões com categorias, exemplos, tudo que gostamos.

  2. Dois artigos sobre padrões: visão geral da parte 1 e parte 2 mais detalhada .

  3. Padrões de projeto usando o padrão Singleton como exemplo .

  4. Artigos sobre os padrões “ Estratégia ” e “ Adaptador ”.

  5. O conceito de padrões de projeto está relacionado aos diagramas UML, este artigo irá ajudá-lo a entender o que são.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION