Camada de serviço
Closed this issue · 2 comments
Fala Gabriel, tudo beleza?
Na aplicação da AcmeVita isso não é exatamente um problema. No entanto a medida que uma API vai crescendo a complexidade da chamada "camada de serviço" aumenta, e normalmente temos que separar ela em camadas mais especializadas. Considerando que no código abaixo temos 3 responsabilidades:
- Deserialização (banco de dados para aplicação)
- Regras de negócio (lógica especifica da operação)
- Serialização (aplicação para resposta da API)
Como você reescreveria esse código pensando em responsabilidades mais bem definidas?
acmevita/application/services/departmentservice.py
Lines 17 to 26 in 9eab272
Bom dia, Rafael!
Transferi a deserialização(DB -> app) para o model:
acmevita/application/models.py
Lines 3 to 11 in 7391f9e
Mantive o loop de processamento dos dados no Service:
acmevita/application/services/departmentservice.py
Lines 7 to 21 in 7391f9e
E a serialização(app -> API response) já estava no arquivo de rota (routes.py):
acmevita/application/routes.py
Line 15 in 7391f9e
Perfeito Gabriel,
Obrigado!