Teoria e Gestão de Domínios e Subdomínios
Índice
- DDD e Gestão de Subdomínios
DDD e Gestão de Subdomínios
Uma visão prática de como Domain-Driven Design (DDD) se conecta com decisões de arquitetura e estratégia de produto.
DDD não é apenas modelagem técnica.
É uma ferramenta para:
- priorizar investimentos
- guiar arquitetura
- alinhar tecnologia com negócio
O valor real está em responder: Onde devemos investir engenharia?
O que é DDD
Domain-Driven Design (DDD) é uma abordagem de desenvolvimento de software que coloca o domínio de negócio no centro das decisões técnicas.
- Foco na resolução de problemas reais do negócio
- Modelagem baseada em linguagem compartilhada (Ubiquitous Language)
- Colaboração entre técnicos e especialistas do domínio

Referência principal
- Domain-Driven Design — Eric Evans (2003)
Conceito de Domínio
Um domínio é o problema central que a empresa resolve.
Exemplos:
- Spotify → acesso à música
- Uber → mobilidade urbana
- Banco → gestão financeira
Subdomínios
Um domínio é dividido em subdomínios, que representam partes menores do problema.
Eles permitem:
- decomposição do sistema
- priorização de investimento
- decisões arquiteturais
Tipos de Subdomínios
Core (Principal)
- Diferencial competitivo
- Alta complexidade
- Lógica única
Exemplos:
- Motor de recomendação
- Precificação dinâmica
- Algoritmos proprietários
Estratégia:
- Desenvolver internamente
- Investir em P&D
Supporting (Apoio)
- Suporta o Core
- Alguma customização
- Não gera vantagem direta
Exemplos:
- Painel administrativo
- Workflow interno
- Relatórios operacionais
Estratégia:
- Construção simplificada
- Foco em produtividade
Generic (Genérico)
- Problemas comuns a qualquer sistema
- Baixa diferenciação
Exemplos:
- Autenticação
- Pagamentos
- Envio de e-mail
Estratégia:
- Comprar (SaaS)
- Usar soluções prontas
Lógica de Negócio
A lógica de negócio define:
- Entidades (ex: Usuário, Pedido, Sessão)
- Regras (ex: validação, cálculo, restrições)
Ela deve estar concentrada principalmente no:
- Core Domain
Perspectiva Estratégica
DDD moderno conecta arquitetura com estratégia:
| Tipo | Diferenciação | Ação recomendada |
|---|---|---|
| Core | Alta | Construir |
| Supporting | Média | Customizar |
| Generic | Baixa | Comprar |
Build vs Buy
Build vs Buy é o dilema estratégico de decidir entre desenvolver uma solução internamente ou adquirir um produto pronto no mercado.
-
Build (Construir): Foco em personalização total e propriedade intelectual. Exige tempo, desenvolvedores qualificados e manutenção contínua de longo prazo. Ideal para o “core business” (o diferencial da empresa).
-
Buy (Comprar/Adotar): Foco em velocidade e eficiência. Utiliza soluções prontas (SaaS, bibliotecas) para reduzir o time-to-market. Ideal para funções periféricas ou infraestrutura (como o Keycloak).
O objetivo é equilibrar custo, controle e velocidade para entregar valor ao cliente sem “reinventar a roda” desnecessariamente.
Core
Oferece vantagem competitiva, Lógica complexa e única, difícil de replicar.
Supporting
Não oferece vantagem competitiva direta, mas suporta o Core. Requer solução customizada, pois é adaptado ao domínio principal, mas a lógica deve ser simples.
Generic (Genérico)
Problemas resolvidos da mesma forma por todas as empresas. Deve-se comprar ou adotar soluções prontas.

- Build
- Combinação de código customizado e bibliotecas open source que a equipe deve projetar, manter e escalar.
- Buy
- Compra de um serviço definido que agrega valor imediato, onde a manutenção e escalabilidade são geralmente do fornecedor.
Se adotamos por exemplo o Keycloak que é uma ferramenta de código aberto que transita entre o “Build” (você precisa hospedar, configurar e manter) e o “Buy” (no sentido de ser uma solução pronta que você “adquire” em vez de escrever lógica de autenticação do zero).
Exemplos de Subdomínios Genéricos
- Autenticação (Auth0, Keycloak)
- Pagamentos (Stripe, Adyen)
- Notificações (Firebase)
- Armazenamento (S3, GCS)
- Observabilidade (Datadog, Prometheus)
Exemplos de Subdomínios de Apoio
- Dashboard administrativo
- Sistema de comentários
- Gestão de usuários interna
- Workflow de aprovação
Exemplo de Domínios e Subdomínios
Sistema Hospitalar (Escala 1-10)
| Subdomínio | Complexidade | Diferenciação | Categoria | Ação Estratégica |
|---|---|---|---|---|
| 1. IA de Apoio ao Diagnóstico | 10 | 10 | Core | P&D Interno (Patente) |
| 2. Medicina de Precisão (Genômica) | 10 | 9 | Core | Parceria Científica |
| 3. Triagem Digital e Fluxo de Urgência | 7 | 8 | Core | Desenvolvimento Customizado |
| 4. Gestão de Desfecho Clínico | 8 | 8 | Core | Foco em Ciência de Dados |
| 5. Monitoramento IoT (UTI Conectada) | 8 | 7 | Core | Integração de Hardware |
| 6. Prontuário Eletrônico (PEP) | 9 | 6 | Core | Customização Pesada |
| 7. Escalonamento Médico Inteligente | 6 | 5 | Supporting | Algoritmo sob medida |
| 8. Gestão de Leitos e Altas | 5 | 5 | Supporting | Otimização de Processo |
| 9. Portal de Telemedicina | 4 | 4 | Supporting | Integrar SDKs de Mercado |
| 10. Controle de Infecção (CCIH) | 7 | 4 | Supporting | Regras de Negócio Internas |
| 11. Faturamento TISS/TUSS | 9 | 2 | Generic | Comprar (Software Especializado) |
| 12. Agendamento Multicanal | 4 | 2 | Generic | Usar SaaS (White-label) |
| 13. Farmácia e Estoque Central | 5 | 2 | Generic | Módulo de ERP Padrão |
| 14. Compras e Suprimentos | 5 | 1 | Generic | ERP de Mercado |
| 15. Autenticação e Segurança (LGPD) | 6 | 1 | Generic | Usar Provedor de Identidade |
| 16. Folha de Pagamento | 4 | 1 | Generic | Outsourcing / ERP |
| 17. Manutenção de Equipamentos | 3 | 1 | Generic | Software de Asset Mgmt |
| 18. Hotelaria e Limpeza | 2 | 1 | Generic | Terceirizar Software |
| 19. Pesquisa de Satisfação | 2 | 1 | Generic | Ferramenta Gratuita/SaaS |
| 20. Contabilidade e Fiscal | 6 | 1 | Generic | Software Padrão |
40 Subdomínios Genéricos (Escala 1-10)
| Item de Infraestrutura / Negócio | Complexidade | Diferenciação | Ação Recomendada | Exemplo de Solução |
|---|---|---|---|---|
| 1. Autenticação (Login/Logout) | 6 | 1 | Comprar / SaaS | Auth0, Keycloak, Firebase |
| 2. Autorização (RBAC/Permissões) | 5 | 2 | Usar Biblioteca | Casbin, Permit.io |
| 3. Observabilidade (Logs/Tracing) | 7 | 1 | Comprar / SaaS | Datadog, New Relic, ELK |
| 4. Monitoramento de Métricas | 6 | 1 | Usar Open Source | Prometheus + Grafana |
| 5. Envio de E-mail Transacional | 3 | 1 | SaaS | SendGrid, AWS SES, Postmark |
| 6. Notificações Push | 4 | 1 | SaaS | Firebase Cloud Messaging (FCM) |
| 7. Gateway de Pagamento | 7 | 2 | Integração API | Stripe, Adyen, Iugu |
| 8. Faturamento (Subscription/Tax) | 8 | 1 | SaaS | Chargebee, Stripe Billing |
| 9. Armazenamento de Arquivos | 4 | 1 | Infraestrutura Cloud | AWS S3, Google Cloud Storage |
| 10. CDN (Entrega de Conteúdo) | 5 | 1 | Configuração Cloud | Cloudflare, Akamai |
| 11. Mensageria / Filas | 6 | 1 | PaaS / Middleware | RabbitMQ, Kafka, AWS SQS |
| 12. Backup e Disaster Recovery | 8 | 1 | Automação Cloud | AWS Backup |
| 13. Gestão de API (Gateway) | 6 | 1 | Solução Pronta | Kong, Apigee, Tyk |
| 14. Busca (Full-text Search) | 7 | 2 | Usar Motor Pronto | Elasticsearch, Algolia |
| 15. Agendamento de Tarefas (Cron) | 3 | 1 | Lib / Framework | Hangfire, Quartz.net |
| 16. Tradução e Localização (i18n) | 2 | 1 | Lib Padrão | i18next, Lokalise |
| 17. Documentação de API | 2 | 1 | Gerador Automático | Swagger (OpenAPI) |
| 18. Verificação de Identidade (KYC) | 8 | 2 | SaaS Especializado | Unico, Onfido |
| 19. Chat / Mensagens em Tempo Real | 7 | 2 | SDK / SaaS | Sendbird, Stream Chat |
| 20. Gerenciamento de Consentimento (LGPD) | 4 | 1 | SaaS | OneTrust, Cookiebot |
| 21. Auditoria de Dados (Trail Logs) | 4 | 1 | Biblioteca | Envers, Audit.NET |
| 22. Relatórios de BI / Analytics | 6 | 2 | Ferramenta de BI | PowerBI, Metabase, Looker |
| 23. Gestão de Segredos (Vault) | 6 | 1 | Solução de Segurança | HashiCorp Vault, AWS Secrets |
| 24. Conversão de Documentos (PDF/Img) | 3 | 1 | Lib de Terceiros | Puppeteer, IronPDF |
| 25. Mapas e Geocodificação | 5 | 2 | API | Google Maps, Mapbox |
| 26. Testes A/B e Feature Flags | 4 | 2 | SaaS | LaunchDarkly, Flagsmith |
| 27. Help Desk / Chat de Suporte | 2 | 1 | SaaS | Zendesk, Intercom |
| 28. Gerenciamento de Usuários (IAM) | 6 | 1 | SaaS | Okta, Azure AD |
| 29. Exportação de Dados (CSV/XLS) | 3 | 1 | Lib Padrão | SheetJS, Pandas |
| 30. Prevenção de Fraude (Anti-fraud) | 8 | 2 | SaaS Especializado | Konduto, ClearSale |
| 31. Assinatura Eletrônica | 3 | 1 | API | DocuSign, Clicksign |
| 32. Redimensionamento de Imagem | 4 | 1 | SaaS / Serverless | Cloudinary, Imgix |
| 33. Cache (In-memory) | 5 | 1 | Middleware | Redis, Memcached |
| 34. Validação de Endereço (CEP) | 2 | 1 | API | ViaCEP, Postmon |
| 35. Pesquisas e NPS | 2 | 1 | SaaS | Hotjar, SurveyMonkey |
| 36. Webhook Management | 5 | 1 | Solução Pronta | Svix, Hookdeck |
| 37. Single Sign-On (SSO Social) | 4 | 1 | SaaS | NextAuth.js, Clerk |
| 38. Gerenciamento de DNS | 3 | 1 | Infraestrutura | Route53, GoDaddy |
| 39. Análise de Performance (APM) | 7 | 1 | SaaS | Sentry, AppDynamics |
| 40. Shortener (Encurtador de Link) | 2 | 1 | Lib / SaaS | Bitly, Dub.co |
40 Subdomínios de Suporte (Escala 1-10)
| Subdomínio de Apoio | Complexidade | Diferenciação | Por que é Suporte? |
|---|---|---|---|
| 1. Gestão de Agenda Interna | 4 | 4 | Organiza o tempo, mas não é o serviço final. |
| 2. Painel de Controle (Admin) | 5 | 3 | Ferramenta para equipe interna operar o sistema. |
| 3. Cadastro de Fornecedores | 3 | 2 | Necessário para o ERP, mas sem lógica única. |
| 4. Sistema de Comentários | 3 | 3 | Engajamento que suporta o conteúdo principal. |
| 5. Favoritos / Listas de Desejos | 2 | 3 | Auxilia a conversão no Core. |
| 6. Workflow de Aprovação | 5 | 5 | Regras internas específicas de hierarquia. |
| 7. Gerenciador de Templates | 4 | 2 | Facilita a criação de documentos/e-mails. |
| 8. Histórico de Alterações (Timeline) | 3 | 4 | Suporta auditoria e visualização de dados. |
| 9. Dashboard de Metas Equipe | 4 | 4 | Motivação interna, não impacta o cliente. |
| 10. Controle de Acesso Físico | 3 | 2 | Segurança predial integrada ao sistema. |
| 11. Gestão de Inventário Simples | 5 | 4 | Apoia a operação (ex: estoque de papel). |
| 12. Portal de Autoatendimento | 4 | 5 | Reduz carga do suporte humano. |
| 13. Gerador de Relatórios Custom | 6 | 5 | Extração de dados para tomada de decisão. |
| 14. Cadastro de Catálogo | 4 | 3 | Organização de itens/serviços oferecidos. |
| 15. Sistema de FAQ Dinâmico | 2 | 2 | Apoia o sucesso do cliente. |
| 16. Checklists de Procedimento | 3 | 5 | Garante que o processo Core seja seguido. |
| 17. Gestão de Contatos (CRM Lite) | 4 | 4 | Apoia a área comercial/atendimento. |
| 18. Calculadora de Impostos Local | 5 | 3 | Regras específicas que mudam por região. |
| 19. Mural de Avisos Internos | 2 | 1 | Comunicação básica entre funcionários. |
| 20. Upload e Processamento de Docs | 5 | 4 | Preparação de dados para o Core. |
| 21. Categorização/Tags de Dados | 3 | 3 | Organiza a busca do sistema. |
| 22. Gestão de Filas de Atendimento | 4 | 5 | Melhora a experiência, mas não é o produto. |
| 23. Logística de Entrega Interna | 5 | 4 | Movimentação de materiais entre prédios. |
| 24. Validação de Regras de Negócio | 6 | 5 | “Guarda-costas” da integridade do Core. |
| 25. Exportação para Contabilidade | 4 | 2 | Ponte entre o sistema e o setor financeiro. |
| 26. Pesquisa de Clima Organizacional | 2 | 1 | Apoio ao RH integrado ao sistema. |
| 27. Importação de Dados Legados | 6 | 2 | Esforço único para migração de clientes. |
| 28. Gerenciador de Banners/Promos | 3 | 4 | Apoia o marketing no front-end. |
| 29. Sistema de Ranks/Badges | 4 | 5 | Gamificação simples para engajamento. |
| 30. Tradutor de Termos Técnicos | 3 | 3 | Glossário para usuários do sistema. |
| 31. Gestão de Equipas/Squads | 3 | 3 | Define quem trabalha em qual projeto. |
| 32. Integração com Calendários | 4 | 3 | Sincroniza dados com Google/Outlook. |
| 33. Central de Notificações | 4 | 4 | Agrega avisos para o usuário não se perder. |
| 34. Backup de Configurações | 3 | 2 | Guarda preferências do usuário. |
| 35. Verificador de Duplicidade | 4 | 4 | Limpeza de base de dados. |
| 36. Workflow de Onboarding | 5 | 5 | Tutorial de primeiro uso do sistema. |
| 37. Gestão de Cupons de Desconto | 4 | 4 | Ativação de gatilhos de venda. |
| 38. Reserva de Salas/Equipamentos | 2 | 2 | Organização de ativos internos. |
| 39. Controle de Versão de Documentos | 5 | 4 | Evita perda de dados em edição coletiva. |
| 40. Dashboard de Saúde do Sistema | 4 | 3 | Visão gerencial sobre estabilidade. |
Referências
Livros
- Eric Evans — Domain-Driven Design
- Vaughn Vernon — Implementing Domain-Driven Design
- Vlad Khononov — Learning Domain-Driven Design
Autores e influências
- Martin Fowler — arquitetura de software
- Sam Newman — microservices
- Alberto Brandolini — Event Storming