9.4. Service Layer
Fronteira da aplicação: operações disponíveis, transações e coordenação.
Resumo
- Define a fronteira da aplicação: conjunto de operações disponíveis para as interfaces clientes.
- Encapsula transações, segurança e coordenação de respostas (ex.: enviar e-mail, integrar sistemas).
- Duas formas: fachada fina sobre o Domain Model ou scripts de operação com lógica de aplicação.
- Separe lógica de domínio (regra do negócio) de lógica de aplicação (fluxo, notificações).
- Útil com várias interfaces. Com um único cliente simples, pode ser dispensável. Prefira o serviço fino.
Perguntas-chave
responda de cabeça, depois abraQual a diferença entre lógica de domínio e de aplicação?
Domínio: regras do problema (calcular receita). Aplicação: responsabilidades do caso de uso (notificar, integrar, transação).
Quando o Service Layer é dispensável?
Quando há um único tipo de cliente e as respostas não envolvem várias transações ou recursos.
Qual a versão preferida por Fowler?
Uma camada fina que delega ao domínio, sem acumular regras de negócio.
Exercícios de fixação
0/5 respondidas1.
Após reconhecer a receita, o sistema deve enviar e-mail ao contador e publicar uma mensagem para o ERP. Onde fica essa coordenação?
2.
Uma aplicação tem interface web, API REST e um job noturno executando as mesmas operações. Por que um Service Layer ajuda?
3.
Qual é um anti-padrão em Service Layer?
4.
Qual a granularidade natural das operações do Service Layer?
5.
Service Layer e Remote Facade são a mesma coisa?