Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aula 2 - Exercício 21

Gostaria de tirar uma dúvida sobre a construção do objeto ProdutosBanco. Na aula informa que deve-se passar a connection como atributo para que possa ser utilizada.

ProdutoBanco.js

function ProdutosBanco(connection){
    this._connection = connection;
}

produtos.js

...
var connection = app.infra.connectionFactory();
var produtosBanco = new app.infra.ProdutosDAO(connection);
...

Ao fazer os exercícios, resolvi não deixar que o produtos.js precisasse conhecer e passar uma connection como parâmetro para o ProdutoBanco.js. Ficando da seguinte forma:

ProdutoBanco.js

function ProdutosBanco(app){
    this._app = app;
}
...//lista
var connection = this._app.infra.connectionFactory();
...

produtos.js

...
var produtosBanco = new app.infra.ProdutosDAO(app);
...

A dúvida basicamente é saber o que é mais indicado, passar a connection ou app para esse caso e por quê?

2 respostas
solução!

O ProdutosBanco depende de uma connection e não do express.. é mais uma questão de coesão. Você vai passar um objeto que tem muito mais coisa do que o outro precisa acessar.

Entendi, obrigado!