1/18
Flashcards sobre Design Patterns e Domain-Driven Design (DDD), abordando conceitos importantes, definições e exemplos relevantes.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Design Patterns
Soluções consagradas para problemas recorrentes de software.
Papel do Design Patterns
Evitar reinventar a roda, criar vocabulário comum e materializar princípios SOLID no código.
Facade
Exposição de uma interface simplificada para um subsistema complexo.
DDD (Domain-Driven Design)
Metodologia que coloca o domínio do negócio no centro do projeto.
Linguagem Ubíqua
Vocabulário compartilhado entre especialistas de domínio e desenvolvedores.
Contexts
Divisões dentro de um modelo de software que encapsulam um conjunto consistente de regras de negócio.
Entity (Entidade)
Objeto com identidade própria que persiste ao longo do tempo.
Value Object (Objeto de Valor)
Definido apenas por seus atributos, sem identidade, e imutável.
Aggregate (Agregado)
Cluster de entidades e value objects tratado como uma unidade de consistência.
Agregado 1: Agendamento
Raiz do agregado que contém informações de agendamentos como ID, status e referências.
Agregado 2: Agenda do Prestador
Agregado que gerencia slots disponíveis para prestadores de serviço.
Agregado 3: Pacote de Serviços
Agregado que representa a assinatura mensal de serviços como banho, tosa ou passeios.
Papel do Design Estratégico
Identifica subdomínios, define bounded contexts e estabelece relações entre eles.
Papel do Design Tático
Define detalhes como entidades, value objects e eventos dentro de cada bounded context.
Customer/Supplier
Relação onde um contexto é o cliente e o outro é o fornecedor de informações.
Anticorruption Layer
Camada que isola um sistema de dependências externas e traduz sua comunicação.
Exemplo de Contexto Genérico
Problemas resolvidos pelo mercado como pagamento e autenticação.
Invariância em um Agregado
Regras de consistência que devem ser garantidas pela raiz do agregado.
Context Map
Mapa que representa como diferentes contextos se relacionam no sistema.