Mas fiquei com uma dúvida em relação a como a classe UserController será instanciada...
Porque digamos que eu esteja usando express.js e que eu tenha um arquivo index.ts, que importa essa classe UserController, e na hora que eu fosse usá-la no index.ts eu iria precisar instanciá-la (usando o new) e com isso teria que passar um parâmetro no construtor dela (que seria o userRepo), mas como faz nesse caso? Já que você utilizou uma interface e não é possível instanciá-la...
...e com isso teria que passar um parâmetro no construtor dela (que seria o userRepo), mas como faz nesse caso?
no artigo não temos a exportação do UserRepo para ser instanciada como parâmetro do UserController, é isso a pergunta? 😆
baseado no material do autor (em inglês), a explicação é que estamos mostrando o conceito de "você não precisa exportar a classe para usá-la como tipo"
a classe em si será usada na aplicação (no mundo real)
mas para explicar o conceito de inverter a dependência da classe, nós exportamos a interface para uso ao invés da "classe real"
o erro é entre teoria x mundo real nesse caso =)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Show de bola esse Guia que você fez, parabéns.
Mas fiquei com uma dúvida em relação a como a classe UserController será instanciada...
Porque digamos que eu esteja usando express.js e que eu tenha um arquivo index.ts, que importa essa classe UserController, e na hora que eu fosse usá-la no index.ts eu iria precisar instanciá-la (usando o new) e com isso teria que passar um parâmetro no construtor dela (que seria o userRepo), mas como faz nesse caso? Já que você utilizou uma interface e não é possível instanciá-la...
Tal como esse exemplo
olá @cgcdoss , você enviou uma PNG como exemplo, ficou meio difícil entender qual sua pergunta...
criei um exemplo em github.com/oieduardorabelo/typescr...
lá você vai encontrar:
confere lá e me diga se isso responde sua pergunta?
um abraço
ah, acho que entendi @cgcdoss:
no artigo não temos a exportação do UserRepo para ser instanciada como parâmetro do UserController, é isso a pergunta? 😆
baseado no material do autor (em inglês), a explicação é que estamos mostrando o conceito de "você não precisa exportar a classe para usá-la como tipo"
a classe em si será usada na aplicação (no mundo real)
mas para explicar o conceito de inverter a dependência da classe, nós exportamos a interface para uso ao invés da "classe real"
o erro é entre teoria x mundo real nesse caso =)