
Aprenda Projetar Programas Em C++ Usando Padrões De Design Para Software De Alta Qualidade
By Jideon Marques MarquesLength11h 37m
About this audiobook
Este livro é valioso para todo desenvolvedor C++. Em particular, é para todo desenvolvedor C++ interessado em entender os problemas usuais de software sustentável e aprender sobre soluções comuns para esses problemas (e eu presumo que esse seja realmente o caso de todo desenvolvedor C++). No entanto, este livro não é um livro para iniciantes em C++. Na verdade, a maioria das diretrizes neste livro requer alguma experiência com desenvolvimento de software em geral e C++ em particular. Por exemplo, presumo que você tenha uma compreensão firme da mecânica da linguagem de hierarquias de herança e alguma experiência com modelos. Então, posso recorrer aos recursos correspondentes sempre que necessário e apropriado. De vez em quando, até mesmo recorrerei a alguns recursos do C++20 (em particular, conceitos do C++20). No entanto, como o foco está no design de software, raramente me deterei em explicar um recurso específico, então, se um recurso for desconhecido para você, consulte sua referência de linguagem C++ favorita. Apenas ocasionalmente adicionarei alguns lembretes, principalmente sobre expressões idiomáticas comuns do C++
Audiobook details
GenreScience and Nature, Technology
Length11 hrs 37 mins
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateSep 21, 2024
LanguagePortuguese
Table of contents
1Introduction
2Em“Diretriz 1: Entenda a importância do design de software”,
3Em“Diretriz 2: Design para a mudança”,
4Em“Diretriz 3: Interfaces separadas para evitar acoplamento artificial”,
5Em“Diretriz 4: Design para Testabilidade”,
Show all chaptersShow less
6Em“Diretriz 5: Design para extensão”,
7larCapítulo 2).
8Em“Diretriz 6: Aderir ao comportamento esperado das abstrações”,
9Em“Diretriz 7: Entenda as semelhanças entre classes base e conceitos”,
10Em“Diretriz 8: Entenda os requisitos semânticos dos conjuntos de sobrecarga”,
11Em“Diretriz 10: Considere a criação de um documento arquitetônico”,
12o emCapítulo 3.
13e“Diretriz 11: Entenda o propósito dos padrões de design”:
14Em“Diretriz 12: Cuidado com os conceitos errôneos sobre padrões de design”,
15Em“Diretriz 13: Padrões de Design Estão em Todo Lugar”,
16Em“Diretriz 14: Use o nome de um padrão de design para comunicar a intenção”,
17ão emCapítulo 4.
18s em“Diretriz 15: Design para adição de tipos ou operações”,
19Uma solução processual
20e“Um exemplo de acoplamento artificial”), p
21Um exemplo de acoplamento artificial
22Acoplamento lógico versus físico
23em“Diretriz 16: Use o Visitor para estender as
24Em“Diretriz 18: Cuidado com a Performance do Visitante Acíclico”,
25emCapítulo 5,
26em“Diretriz 19: Use a estratégia para isolar
27Analisando os problemas de design
28Em“Diretriz 29: Esteja ciente dos ganhos e perdas de desempenho da ponte”,
29o em“Diretriz 30: Aplicar protótipo para operações de cópia abstrata”.
30de“Diretriz 31: Use polimorfismo externo para polimorfismo de tempo de execução
31tempo de execução não intrusivo
32a“Diretriz 35: Use decoradores para adicionar
33hierarquicamente
34hism emCapítulo 7ou
35m“Diretriz 28: Construir pontes para remover dependências
36Um exemplo motivador
37O idioma Pimpl
38Em“Diretriz 9: Preste atenção à propriedade das abstrações”,
39a“Diretriz 24: Use adaptadores para padronizar interfaces”p
40Exemplos da Biblioteca Padrão
41Comparação entre adaptador e estratégia
42e“Diretriz 26: Use CRTP para
43Uma motivação para o CRTP
44em“Diretriz 37: Trate o Singleton como um Padrão de Implementação, Não um Padrão
45O Padrão Singleton Explicado
46Em“Diretriz 17: Considere std::variant para implementar Visitor”,
47Em“Diretriz 20: Favorecer a composição em detrimento da herança”,
48Em“Diretriz 21: Use o comando para isolar o que é feito”,
49Em“Diretriz 22: Prefira a Semântica de Valor à Semântica de Referência”,
50Em“Diretriz 23: Prefira uma implementação de estratégia e comando baseada em