Shared
Shared reúne capacidades técnicas usadas por mais de uma aplicação ou domínio. Ele ajuda o Portal 2 a tratar preocupações comuns de forma consistente, sem decidir regras específicas de negócio.
Por exemplo, um domínio pode usar logs e persistência compartilhados. Esses recursos oferecem uma capacidade técnica. Eles não decidem se uma operação de negócio é válida.
Quando uma capacidade pertence ao Shared
Uma capacidade é candidata a Shared quando atende a mais de um domínio, não contém decisão de uma área de negócio e pode ser usada sem conhecer o fluxo funcional que a consome.
| Capacidade | Por que pode ser compartilhada |
|---|---|
| Configuração e segredos | Mantém a inicialização consistente entre aplicações. |
| Logs, traces e métricas | Dá observabilidade sem mudar a regra de negócio. |
| Autenticação e controle de acesso | Fornece mecanismos técnicos usados por vários fluxos. |
| Comunicação HTTP e mensageria | Padroniza como módulos conversam com dependências externas. |
| Persistência e armazenamento | Oferece acesso técnico a dados e arquivos. |
| Erros, paginação e objetos reutilizáveis | Evita repetir contratos técnicos estáveis. |
O que não pertence ao Shared
Não mova uma implementação para Shared apenas porque dois arquivos parecem semelhantes. Uma regra de negócio continua no domínio responsável, mesmo que apareça em mais de um fluxo.
Evite também criar utilitários genéricos sem consumidor real. Uma abstração compartilhada precisa reduzir acoplamento e tornar dependências explícitas. Se ela exige conhecer um contexto de negócio para funcionar, ela provavelmente não é compartilhada.
Módulos e bibliotecas
| Forma | Quando usar |
|---|---|
| Módulo compartilhado | O recurso precisa de configuração, ciclo de vida ou integração com a aplicação. |
| Biblioteca compartilhada | O código pode ser usado sem inicializar infraestrutura. |
Próximos passos
Leia Domínios antes de extrair uma regra. Leia Pacotes para revisar a direção das dependências. Volte ao Guia do Portal 2.0 para ver como essas capacidades participam de uma operação completa.