[HELP] Como comunicar entre módulos em um monolito modular
Recentemente estou migrando um projeto para o ecossistema Node e Fastify, com Typescript e estou gostando bastante já tinha comentado porque da migração em outro post. O projeto está definido usando a estrutura de monolito modular, minha dúvida é qual é a melhor estratégia para comunicação entre os módulos.
Cada módulo tem um nomeDoModulo.controller.ts
, nomeDoModulo.routes.ts
, nomeDoModulo.shema.ts
, nomeDoModulo.service.ts
, creio que terei necessidade de comunicação entre os os serviços , por exemplo modolo carinho, precisa obter o preço de do módulo produto. Minha ideia seria ter algo como produto.interface.ts
daí outros módulos só poderiam utilizar métodos da interface por exemplo import { getPriceByID} from ./produto/produto.interface.ts
dessa forma deixaria bem claro o que o modulo pod comunicar a outros em vez de importar direto o serviço , ainda gostaria que nessa interface teria alguma validação do meu esquema ….
O que vocês acham? Existe algum outro padrão ?