Boa tarde Bruno,
Não só pra mim mas acredito que para o conteúdo do curso, nós alunos agradecemos demais o tempo que você disponibilizou para se dispor a ajudar. De verdade muito obrigado.
Vou tentar ser mais claro na duvida:
No caso em que relato aqui, ainda nem criei a classe Bind.
Veja no capitulo 1 deste modulo que acabamos de criar a classe ProxyFactory:
class ProxyFactory {
static create(objeto, props, acao) {
return new Proxy(objeto, {
get(target, prop, receiver) {
if(props.includes(prop) && typeof(target[prop]) == typeof(Function)) {
return function() {
console.log(`a propriedade "${prop}" foi interceptada`);
Reflect.apply(target[prop], target, arguments);
return acao(target);
}
}
return Reflect.get(target, prop, receiver);
}
})
}
}
E neste momento ajustamos o codigo do NegociaçãoController:
this._listaNegociacoes = ProxyFactory.create (
new ListaNegociacoes(),
['adiciona', 'esvazia'], model =>
this._negociacoesView.update(model));
Veja que neste momento a variavel "acao" lá do ProxyFactory passa a valer:
model=>this._negociacoesView.update(model)
nao consegui visualizar o exato momento em que a função é executada.
O target é o nosso objeto, beleza, mais o valor de acao é
model=>this._listaNegociacoesView.update(model)
onde esse target se encaixa ai dentro rsrs.. sei lá ..
mais ai veio a magicá.. kk.. acho que como vinhamos usando nos cursos anteriores bastante a arrow function mais em loops de arrays, etc.. chegou aqui deu um nó no cerebro.. kk.. o que me parecia ser uma duvida complexa agora ficou extremamente claro e parece uma duvida meio idiota.. kkkk...
seu exemplo foi perfeito pra desenrolar o nó..
ja vimos anteriormente que:
model=>this._listaNegociacoesView.update(model)
é igual a isso
function(model){
this._listaNegociacoesView(model);
}
que virou isso
(atentando para que quando é arrow function o this passa a ser NegociacaoController)
acao(target){
this._listaNegociacoesView(target);
}
logico que quando você chamar acao(target) o target é o parametro da função. rsrs
p.. m.. kkkk que burrico da 0 pra mim.. kk..
deu até vergonha na duvida agora kkk.. mas sem crise.. desconfio que vai ajudar outras pessoas..
valeu mesmo meu velho.
abração