Software Architecture Lab

[ Base de Dados Estelar ]

Conceitos

Cada conceito é uma entrada independente da base de dados — com resumo, problema que resolve, exemplos comparativos e quando (não) aplicar.

Setor
Nível
Tags
Fundamentos
01

Separação de Responsabilidades

Entenda como dividir o sistema em partes com funções claras para reduzir acoplamento, melhorar testabilidade e tornar a manutenção sustentável.

Iniciante12 min
Fundamentos
02

Acoplamento

Acoplamento mede o quanto dois módulos dependem um do outro. Quanto mais alto, mais difícil mudar um sem quebrar o outro.

Iniciante8 min
Frontend
03

Colocalização de Estado

Estado que mora longe de onde é usado cria dependências invisíveis e re-renders desnecessários. Aprenda a decidir onde cada pedaço de estado pertence.

Intermediário12 min
Frontend
04

Componentes vs Containers

Separar componentes que renderizam dos que buscam dados e tomam decisões é o primeiro passo para um frontend testável, reutilizável e fácil de entender.

Intermediário10 min
Frontend
05

Camadas no Frontend

Services, hooks e componentes formam camadas com responsabilidades distintas. Entender onde cada coisa mora evita que lógica de negócio se espalhe por toda a aplicação.

Intermediário14 min
Backend
06

Repository Pattern

Isole o acesso a dados atrás de uma interface clara. O Repository evita que lógica de banco vaze para o domínio da aplicação.

Intermediário15 min
Backend
07

Service Layer

Centralize a lógica de negócio em serviços dedicados. A Service Layer evita que regras espalhadas por controllers e repositories tornem o sistema difícil de manter.

Intermediário12 min
Backend
08

Injeção de Dependência

Forneça dependências de fora para dentro. A Injeção de Dependência elimina o acoplamento entre quem usa e quem implementa, tornando o código testável e substituível.

Intermediário14 min
Prática
09

Code Smells

Aprenda a reconhecer os sinais de que o código precisa ser refatorado. Code smells não são bugs — são indícios de que uma decisão de design pode estar custando caro.

Intermediário12 min
Prática
10

Extrair Método

Transforme blocos de código em funções com nome. Extrair método é a refatoração mais frequente — e a mais eficaz para reduzir complexidade e melhorar legibilidade.

Intermediário10 min
Prática
11

Refatoração Segura

Mude a estrutura do código sem alterar seu comportamento. Refatoração segura depende de testes como rede de proteção e de passos pequenos que podem ser revertidos.

Intermediário15 min
Patterns
12

Strategy

Substitua condicionais que crescem com o negócio por comportamentos intercambiáveis. O Strategy isola o que varia e deixa o restante do código estável.

Intermediário14 min
Patterns
13

Observer

Deixe partes do sistema reagirem a eventos sem que o emissor saiba quem está ouvindo. A base de todo sistema de eventos, notificações e reatividade.

Intermediário12 min
Patterns
14

Factory

Centralize a criação de objetos complexos num único lugar. Quando a lógica de instanciação cresce, Factory evita que ela vaze pelo sistema inteiro.

Intermediário10 min
Patterns
15

Adapter

Conecte interfaces incompatíveis sem reescrever nenhuma das duas partes. O padrão essencial para integrar APIs externas e bibliotecas de terceiros.

Intermediário12 min