Skip to content

eliasmeireles/software-concepts-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Guia de Conceitos de Software

Conceitos essenciais que todo desenvolvedor de software deve conhecer para criar sistemas mais robustos, manuteníveis e escaláveis.


Fundamentos de Programação


Padrões de Projeto (Design Patterns)

  • Strategy: Permite que algoritmos sejam selecionados em tempo de execução.
  • Chain of Responsibility: Encadeia objetos para processar uma requisição.
  • Fluent API: Técnica para criar APIs mais legíveis e expressivas.
  • Builder: Separa a construção de objetos complexos de sua representação.
  • Factory: Centraliza a criação de objetos, promovendo flexibilidade.
  • Singleton: Garante que uma classe tenha apenas uma instância.
  • Observer: Notifica objetos sobre mudanças de estado.
  • Decorator: Adiciona comportamentos a objetos dinamicamente.
  • Adapter: Permite que classes com interfaces incompatíveis trabalhem juntas.
  • Facade: Simplifica a interação com subsistemas complexos.

Arquitetura de Software


Banco de Dados


Desenvolvimento de Software


Resiliência e Escalabilidade


Observabilidade e Monitoramento


Outros Conceitos Importantes


Padrões de Projeto Adicionais

  • Proxy: Controla o acesso a um objeto.

  • Composite: Trata objetos individuais e compostos de forma uniforme.

  • State: Permite que um objeto altere seu comportamento quando seu estado muda.

  • Template Method: Define o esqueleto de um algoritmo, permitindo que subclasses redefinam etapas específicas.

  • Clean Architecture: Organização de código que promove separação de responsabilidades e independência de frameworks, interfaces e detalhes de implementação.


Java

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors