Imagem de fundo

Um órgão fazendário está modernizando o módulo de cálculo de tributos e deseja separar ...

Um órgão fazendário está modernizando o módulo de cálculo de tributos e deseja separar claramente a lógica das regras fiscais das adaptações necessárias para diferentes bancos de dados usados pelos estados. Considerando que a equipe quer garantir que mudanças na infraestrutura não impactem as regras tributárias centrais, a abordagem arquitetural que atende melhor a essa necessidade é


A

a Arquitetura MVC, concentrando a lógica tributária em serviços ligados à camada de apresentação da aplicação web, aproveitando os recursos nativos do framework (como filtros, interceptors e validações) para tratar as particularidades de cada banco de dados.


B

concentrar as regras fiscais em repositórios especializados por tipo de banco de dados, permitindo que cada repositório implemente as regras e consultas de forma otimizada para o SGBD específico (por exemplo, usando stored procedures ou funções nativas).


C

Implementar a maior parte da lógica fiscal nos controllers das APIs, centralizando ali o fluxo das regras tributárias e das chamadas às diferentes fontes de dados, o que facilitaria a coordenação entre múltiplos bancos de dados sem alterar o domínio existente.


D

a arquitetura hexagonal, estruturando o dominio com portas (Interfaces) e adaptadores para cada banco de dados, de forma que as regras fiscais permaneçam independentes das tecnologias de persistência.


E

definir DTOs ricos para transporte de dados entre camadas, adicionando validações e transformações relacionadas às regras fiscais nesses objetos, mantendo a lógica tributária distribuída entre serviços, controllers e mapeamentos de banco de dados já existentes.