Projeto De Software C++

Projeto De Software C++

By Jideon Francisco Marques
Michael Caine
Listen with Sir Michael Caine™ and 1,000+ voices
Length15h 32m

About this audiobook

Do meu ponto de vista, um bom design de software é a essência de todo projeto de software bem-sucedido. Ainda assim, apesar de seu papel fundamental, há tão pouca literatura sobre o assunto e muito poucos conselhos sobre o que fazer e como fazer as coisas corretamente. Por quê? Bem, porque é difícil. Muito difícil. Provavelmente a faceta mais difícil de escrever software que temos que enfrentar. E isso porque não existe uma única solução "certa", nenhum conselho "de ouro" para passar pelas gerações de desenvolvedores de software. Sempre depende. Apesar dessa limitação, darei conselhos sobre como projetar um software bom e de alta qualidade. Fornecerei princípios de design, diretrizes de design e padrões de design que ajudarão você a entender melhor como gerenciar dependências e transformar seu software em algo com o qual você possa trabalhar por décadas. Como afirmado anteriormente, não há conselho "de ouro", e este livro não contém nenhuma solução definitiva ou perfeita. Em vez disso, tento mostrar os aspectos mais fundamentais de um bom software, os detalhes mais importantes, a diversidade e os prós e contras de diferentes designs. Também formularei objetivos de design intrínsecos e demonstrarei como atingir esses objetivos com o C++ moderno.

Audiobook details

GenreTechnology
Length15 hrs 32 mins
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateSep 29, 2022
LanguagePortuguese

Table of contents

1Projeto de software C++
96A filosofia C++ moderna: semântica de valor
2Prefácio
97Semântica de valor: um segundo exemplo
3Por que escrevi este livro
98Prefira usar a semântica de valor para implementar padrões de design
4Sobre o que é este livro
99Diretriz 23: Prefira uma implementação de estratégia e comando baseada em valor
5Design de software
100Introdução ao std::function
Show all chapters
6C++ moderno
101Refatorando o desenho de formas
7Padrões de design
102Referências de desempenho
8Para quem é este livro
103Analisando as deficiências da solução std::function
9Como este livro está estruturado
104Capítulo 6. Os Padrões de Projeto do Adaptador, Observador e CRTP
10Convenções utilizadas neste livro
105Diretriz 24: Use Adaptadores para Padronizar Interfaces: O padrão de design do adaptador explicado
11Usando exemplos de código
106O padrão de design do adaptador
12Capítulo 1. A Arte do Design de Software
107Adaptadores de objetos versus adaptadores de classe
13Diretriz 1: Entenda a importância do design de software
108Exemplos da Biblioteca Padrão
14Recursos não são design de software
109Comparação entre Adaptador e Estratégia
15Design de software: a arte de gerenciar dependências e abstrações
110Adaptadores de função
16Os três níveis de desenvolvimento de software
111Analisando as deficiências do padrão de design do adaptador
17O foco nos recursos
112Diretriz 25: Aplicar Observadores como um Mecanismo de Notificação Abstrata: O padrão de projeto do observador explicado
18O foco no design de software e princípios de design
113O padrão de projeto do observador
19Diretriz 2: Design para Mudança
114Uma implementação clássica do observador
20Separação de preocupações
115Uma implementação de observador com base na semântica de valor
21Um exemplo de acoplamento artificial
116Analisando as deficiências do padrão de projeto do observador
22Acoplamento Lógico versus Acoplamento Físico
117Diretriz 26: Use CRTP para introduzir categorias de tipo estático
23Não se repita
118Uma motivação para o CRTP
24Evite a separação prematura de preocupações
119O padrão de design CRTP explicado
25Diretriz 3: Interfaces separadas para evitar acoplamento artificial
120O padrão de projeto CRTP
26Segregar Interfaces para Separar Preocupações
121Analisando as deficiências do padrão de projeto CRTP
27Minimizando requisitos de argumentos de modelo
122O futuro do CRTP: uma comparação entre os conceitos de CRTP e C++20
28Diretriz 4: Design para Testabilidade
123Diretriz 27: Use CRTP para classes de mixina estática
29Como testar uma função de membro privado
124Um tipo de motivação forte
30A verdadeira solução: preocupações separadas
125Usando CRTP como um padrão de implementação
31Diretriz 5: Design para Extensão
126Capítulo 7. Os Padrões de Projeto de Ponte, Protótipo e Polimorfismo Externo
32O Princípio Aberto-Fechado
127Diretriz 28: Construir pontes para remover dependências físicas
33Extensibilidade em tempo de compilação
128Um exemplo motivador
34Evite Projetos Prematuros para Extensão
129O padrão de design da ponte explicado
35Capítulo 2. A Arte de Construir Abstrações
130O padrão de design da ponte
36Diretriz 6: Aderir ao comportamento esperado das abstrações
131O idioma da espinha
37Um exemplo de violação de expectativas
132Comparação entre Bridge e Estratégia
38O Princípio da Substituição de Liskov
133Analisando as deficiências do padrão de projeto de ponte
39Crítica ao Princípio da Substituição de Liskov
134Diretriz 29: Esteja ciente dos ganhos e perdas de desempenho da ponte
40A necessidade de abstrações boas e significativas
135O impacto no desempenho das pontes
41Diretriz 7: Compreenda as semelhanças entre classes e conceitos básicos
136Melhorando o desempenho com pontes parciais
42Diretriz 8: Entenda os Requisitos Semânticos dos Conjuntos de Sobrecarga
137Diretriz 30: Aplicar Protótipo para Operações de Cópia Abstrata
43O poder das funções livres: um mecanismo de abstração em tempo de compilação
138Um Exemplo de Ovelha: Copiando Animais
44O Problema das Funções Livres: Expectativas sobre o Comportamento
139O padrão de design do protótipo explicado
45Diretriz 9: Preste Atenção à Propriedade das Abstrações
140O padrão de design do protótipo
46O Princípio da Inversão de Dependência
141Comparação entre protótipo e std::variant
47Inversão de dependência em uma arquitetura de plug-in
142Analisando as deficiências do padrão de projeto de protótipo
48Inversão de dependência por meio de modelos
143Diretriz 31: Use Polimorfismo Externo para Polimorfismo de Tempo de Execução Não Intrusivo: O padrão de projeto de polimorfismo externo explicado
49Inversão de dependência por meio de conjuntos de sobrecarga
144O padrão de projeto de polimorfismo externo
50Princípio de Inversão de Dependência versus Princípio de Responsabilidade Única
145Desenho de formas revisitado
51Diretriz 10: Considere a criação de um documento de arquitetura
146Comparação entre Polimorfismo Externo e Adaptador
52Capítulo 3. O Propósito dos Padrões de Projeto
147Analisando as deficiências do padrão de projeto de polimorfismo externo
53Diretriz 11: Compreenda o Propósito dos Padrões de Projeto
148Capítulo 8. O padrão de projeto de apagamento de tipo
54Um padrão de design tem um nome
149Diretriz 32: Considere Substituir Hierarquias de Herança por Apagamento de Tipo
55Um padrão de design carrega uma intenção
150A história do apagamento de tipos
56Um padrão de design introduz uma abstração
151O padrão de design de apagamento de tipo explicado
57Um padrão de design foi comprovado
152O padrão de design composto de apagamento de tipo
58Diretriz 12: Cuidado com Equívocos de Padrões de Projeto
153Uma implementação de eliminação de tipo de propriedade
59Padrões de design não são um objetivo
154Analisando as deficiências do padrão de projeto de apagamento de tipo
60Padrões de design não são sobre detalhes de implementação
155Comparando dois invólucros de apagamento de tipo
61Padrões de projeto não estão limitados à programação orientada a objetos ou polimorfismo dinâmico
156Segregação de Interface de Wrappers de Apagamento de Tipo
62Diretriz 13: Padrões de Design estão em toda parte
157Referências de desempenho
63Diretriz 14: Use o nome de um padrão de design para comunicar a intenção
158Uma palavra sobre terminologia
64Capítulo 4. O Padrão de Design do Visitante
159Diretriz 33: Esteja ciente do potencial de otimização do apagamento de tipo
65Diretriz 15: Design para a adição de tipos ou operações
160Otimização de buffer pequeno
66Uma solução processual
161Implementação Manual de Despacho de Função
67Uma solução orientada a objetos
162Diretriz 34: Esteja ciente dos custos de configuração de possuir embalagens de apagamento de tipo
68Esteja ciente da escolha de design no polimorfismo dinâmico
163Os custos de configuração de um invólucro de apagamento de tipo proprietário
69Diretriz 16: Use o Visitor para Estender as Operações
164Uma Implementação Simples de Apagamento de Tipo Não-Proprietário
70Analisando os problemas de design
165Uma implementação de eliminação de tipo sem proprietário mais poderosa
71O padrão de design do visitante explicado
166Capítulo 9. O Padrão de Design do Decorador
72O padrão de design do visitante: Analisando as deficiências do padrão de design do visitante
167Diretriz 35: use decoradores para adicionar personalização hierarquicamente
73Diretriz 17: Considere std::variant para Implementing Visitor
168Problema de design de seus colegas de trabalho
74Introdução ao std::variant
169O padrão de design do decorador explicado
75Refatorando o desenho de formas como uma solução não intrusiva baseada em valor
170O padrão de design do decorador
76Referências de desempenho
171Uma implementação clássica do padrão de design do decorador
77Analisando as deficiências da solução std::variant
172Um segundo exemplo de decorador
78Diretriz 18: Cuidado com o Desempenho do Visitante Acíclico
173Comparação entre decorador, adaptador e estratégia
79Capítulo 5. Os padrões de design de estratégia e comando
174Analisando as deficiências do padrão de design do decorador
80Diretriz 19: Use a estratégia para isolar como as coisas são feitas
175Diretriz 36: Compreenda a compensação entre tempo de execução e abstração de tempo de compilação
81Analisando os problemas de design
176Um decorador de tempo de compilação baseado em valor
82O padrão de design de estratégia explicado
177Um decorador de tempo de execução baseado em valor
83O padrão de design de estratégia
178Capítulo 10. O Padrão Singleton
84Analisando as deficiências da solução ingênua
179Diretriz 37: Trate Singleton como um padrão de implementação, não como um padrão de design: O Padrão Singleton Explicado
85Comparação entre visitante e estratégia
180O Padrão Singleton: Singleton não gerencia ou reduz dependências
86Analisando as deficiências do padrão de design de estratégia
181Diretriz 38: Projete Singletons para Mudança e Testabilidade
87Design Baseado em Políticas
182Singletons representam o estado global
88Diretriz 20: Favorecer a Composição sobre a Herança
183Singletons Impedem Mutabilidade e Testabilidade
89Diretriz 21: Use o comando para isolar o que as coisas são feitas: O padrão de design de comando explicado
184Invertendo as dependências em um singleton
90O padrão de design de comando
185Aplicando o padrão de design de estratégia
91O padrão de design de comando versus o padrão de design de estratégia
186Avançando em direção à injeção de dependência local
92Analisando as deficiências do padrão de design de comando
187Capítulo 11. A Última Diretriz
93Diretriz 22: Prefira a semântica de valor à semântica de referência
188Diretriz 39: Continue aprendendo sobre padrões de design
94As deficiências do estilo GoF: semântica de referência
189Colofão
95Semântica de referência: um segundo exemplo
O Poder De Alinhar Suas Palavras À Vontade De Deus
O Poder De Alinhar Suas Palavras À Vontade De DeusJideon Francisco Marques3h 34m$7 · $0.00
Asanas Clássicas Do Yoga Que Dão Cura
Asanas Clássicas Do Yoga Que Dão CuraJideon Francisco Marques5h 19m$9 · $0.00
A Jornada De Oração De 28 Dias
A Jornada De Oração De 28 DiasJideon Francisco Marques3h 9m$6 · $0.00
Lute Por Nós
Lute Por NósJideon Francisco Marques5h 9m$9 · $0.00
Receitas Paleo Autoimune
Receitas Paleo AutoimuneJideon Francisco Marques1h 54m$8 · $0.00
Chocolate Vegano
Chocolate VeganoJideon Francisco Marques11h 26m$12 · $0.00
Tamales Refeições Mexicanas Rápidas E Deliciosas
Tamales Refeições Mexicanas Rápidas E DeliciosasJideon Francisco Marques2h 3m$9 · $0.00
Comunicações Conscientes
Comunicações ConscientesJideon Francisco Marques7h 47m$11 · $0.00
Um Passo Para A Felicidade
Um Passo Para A FelicidadeJideon Francisco Marques2h 24m$8 · $0.00
Yoga De Dentro Para Fora
Yoga De Dentro Para ForaJideon Francisco Marques3h 52m$8 · $0.00
Karma Do Signo Solar
Karma Do Signo SolarJideon Francisco Marques6h 37m$6 · $0.00
Terapia De Cristal Encontre O Seu Bem-estar E Equilíbrio Graças À Energia Das Pedras E Cristais
Terapia De Cristal Encontre O Seu Bem-estar E Equilíbrio Graças À Energia Das Pedras E CristaisJideon Francisco Marques2h 28m$13 · $0.00
Eu Me Apaixonei Por Um Assexual
Eu Me Apaixonei Por Um AssexualJideon Francisco Marques8h 17m$8 · $0.00
The Bdsm Game Book
The Bdsm Game BookJideon Francisco Marques2h 12m$9 · $0.00
Descubra Os Segredos Da Bruxaria E Transforme Sua Vida Com O Ebook 'caderno De Uma Bruxa: Lições De Bruxaria
Descubra Os Segredos Da Bruxaria E Transforme Sua Vida Com O Ebook 'caderno De Uma Bruxa: Lições De BruxariaJideon Francisco Marques4h 44m$8 · $0.00
Dieta De Redefinição De Corpo Inteiro
Dieta De Redefinição De Corpo InteiroJideon Francisco Marques2h 34m$6 · $0.00
Mostre À Sua Ansiedade Quem Manda
Mostre À Sua Ansiedade Quem MandaJideon Francisco Marques7h 26m$9 · $0.00
Manufacture Of Nourishing And Pure Natural Soaps For The Skin
Manufacture Of Nourishing And Pure Natural Soaps For The SkinJideon Francisco Marques6h 52m$9 · $0.00
Evitando Os 12 Erros De Relacionamento Que As Mulheres Cometem
Evitando Os 12 Erros De Relacionamento Que As Mulheres CometemJideon Francisco Marques6h 1m$8 · $0.00
Princípios De Treinamento Para Cães
Princípios De Treinamento Para CãesJideon Francisco Marques8h 50m$11 · $0.00
Gestão De Projetos
Gestão De ProjetosHelcio Gonçalves4h 4m$9 · $0.00
Vírus
VírusDouglas Bernardini12h 27m$22 · $0.00
Professor na Era da IA
Professor na Era da IACibele Mantovanni, Genilson Valotto Patuzzo2h 32m$10 · $0.00
Direito e tecnologia
Direito e tecnologiaJosé Luiz de Moura Faleiros Júnior23h 54m$14 · $0.00
Fundamentos De Programação Python
Fundamentos De Programação PythonLeonardo Guerra De Rezende Guedes & Mário Elias Cândido Neto1h 24m$6 · $0.00
Acessibilidade
AcessibilidadeTony Santos2h 19m$5 · $0.00
Nr-35 Trabalho Em Altura
Nr-35 Trabalho Em AlturaCabral Veríssimo28m$9 · $0.00
Logística Reversa
Logística ReversaPatricia Guarnieri7h 20m$5 · $0.00
Ia - Adapte-se Ou Morra!
Ia - Adapte-se Ou Morra!Bruno Russo6h 21m$7 · $0.00
Política
PolíticaCarujo1h 17m$6 · $0.00
Técnicas de invasão de sistemas pentest
Técnicas de invasão de sistemas pentestCésar Felipe Gonçalves da Silva12h 25m$10 · $0.00
Aprendendo Ciência De Dados
Aprendendo Ciência De DadosJideon Francisco Marques5h 45m$13 · $0.00
Dynamo For Revit:
Dynamo For Revit:Samuel João Da Silveira5h 7m$7 · $0.00
Aprendendo Sobre Criptomoedas
Aprendendo Sobre CriptomoedasAurelio Santiago1h 34m$6 · $0.00
Doctrine Na Prática
Doctrine Na PráticaElton Luís Minetto1h 11m$9 · $0.00
Fique Rico Com Bitcoin
Fique Rico Com BitcoinSandro Santos4h 8m$8 · $0.00
React E React Native
React E React NativeJideon F Marques10h 23m$9 · $0.00
Criptomoedas - Saiba Como Investir
Criptomoedas - Saiba Como InvestirFernando Maciel Moreira17m$6 · $0.00
Guia de sobrevivência digital
Guia de sobrevivência digitalKaroline Melo3h 2m$3 · $0.00
2º Batalhão De Engenharia De Construção
2º Batalhão De Engenharia De ConstruçãoEmanuel Marcos Cruz E Prado5m$6 · $0.00

You may also like

Estratégias de Outsourcing das Operações de Segurança da Informação
Estratégias de Outsourcing das Operações de Segurança da InformaçãoPedro Nuno10h 32m$11 · $0.00
Como Vender Criptomoedas na `Prática
Como Vender Criptomoedas na `PráticaUnknown Author46m$9 · $0.00
Marketing Digital, Segredo Para Aumentar Suas Vendas
Marketing Digital, Segredo Para Aumentar Suas VendasMarcos Antonio Melo Do Nascimento1h 33m$7 · $0.00
Atendimento E Marketing
Atendimento E MarketingGlória W. De Oliveira Souza1h 10m$5 · $0.00
Controle de qualidade e as responsabilidades do físico médico na garantia da eficiência e segurança de equipamentos de raios X
Controle de qualidade e as responsabilidades do físico médico na garantia da eficiência e segurança de equipamentos de raios XEleonilson Pinho2h 3m$10 · $0.00
Astrobiologia para o Ensino Fundamental
Astrobiologia para o Ensino FundamentalIvan Spinardi3h 33m$12 · $0.00
Produção Do Avião Caça Gripen No Brasil
Produção Do Avião Caça Gripen No BrasilNeiriberto Silva De Freitas13m$9 · $0.00
Utilização das Teleconsultorias em Saúde Bucal no Núcleo Telessaúde Bahia
Utilização das Teleconsultorias em Saúde Bucal no Núcleo Telessaúde BahiaAdeilda Ananias de Lima, Ana Áurea Alécio de Oliveira Rodrigues2h 14m$11 · $0.00
O uso da inteligência competitiva no processo de inovação do open banking
O uso da inteligência competitiva no processo de inovação do open bankingEduardo Sosa3h 39m$12 · $0.00
O teletrabalho/home office no Poder Judiciário brasileiro
O teletrabalho/home office no Poder Judiciário brasileiroLuciana Faria de Carvalho7h 23m$7 · $0.00
Educação Durante A Pandemia
Educação Durante A PandemiaDavid Anderson Barbosa Rodrigues E Crist Wilian De Moura Barbosa Da Silva1h 39m$8 · $0.00
O Desenvolvimento de Capacidades Dinâmicas para a Transformação Digital
O Desenvolvimento de Capacidades Dinâmicas para a Transformação DigitalKarina Ribeiro Fernandes8h 33m$15 · $0.00
Varetas Combustíveis Nucleares
Varetas Combustíveis NuclearesAlexandre Roberto Soares3h 26m$20 · $0.00
Análise do Comportamento dos Bancos Digitais versus Bancos Tradicionais quanto ao Gerenciamento dos Riscos Corporativos
Análise do Comportamento dos Bancos Digitais versus Bancos Tradicionais quanto ao Gerenciamento dos Riscos CorporativosAna Paula Alves Freire de Carvalho2h 14m$15 · $0.00
Gestão da Inovação baseada em estratégia
Gestão da Inovação baseada em estratégiaGiuliano Carlo Rainatto, Norberto Almeida de Andrade4h 21m$12 · $0.00
Concreto Asfáltico Drenante em Asfaltos Modificados por Polímero SBS e Borracha Moída de Pneus
Concreto Asfáltico Drenante em Asfaltos Modificados por Polímero SBS e Borracha Moída de PneusJosé Marcos Faccin Guimarães3h 30m$26 · $0.00
Goodwill Representado em Aquisições, Fusões e Incorporações de Empresas
Goodwill Representado em Aquisições, Fusões e Incorporações de EmpresasAdriana Kurtz Pasini Pavan5h 55m$14 · $0.00
Introdução Ao Sistema Wood Frame
Introdução Ao Sistema Wood FrameFernando Bolsoni1h 43m$5 · $0.00
Perspectivas atuais em Gestão, Estratégia e Marketing nas empresas
Perspectivas atuais em Gestão, Estratégia e Marketing nas empresasMilena de Cássia Rocha4h 18m$12 · $0.00
Mecânica Discreta E Radiação
Mecânica Discreta E RadiaçãoLeandro Bertoldo1h 57m$6 · $0.00