Eu uso esse padrao em praticamente todo projeto que eu faço, porem nao uso classe, crio funcoes e depois exporto objeto com o tipo correto que defeni no interface do repositories. Acho mais facil que abordagem orientada a Objeto. Tambem faco isso com providers, no seu caso eh Prisma, eu normalmente crio uma past providers para prover DBs, Email, Server , etc. Ajuda muito na hora de refactoring.