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

ProxyFactory

Boa noite, O método estático recebe em sua assinatura um objeto, mas no codigo nao estou utilizando ele. Porque eu preciso desse objeto se nao estou utilizando?

class ProxyFactory{
    static create(objeto,props,acao){
        return  new Proxy(new ListaNegociacoes(),{
                    get(target, prop, receiver){
                        if(props.includes(prop) && typeof(target[prop]) == typeof(Function)){
                            return function(){
                                console.log(`interceptado ${prop}`);                        
                                Reflect.apply(target[prop], target, arguments);
                                return acao(target);//self._negociacoesView.update(target);
                            }
                        }
                        return Reflect.get(target, prop, receiver);
                    }
                });
    }
}

e no

class NegociacaoController{
     this._listaNegociacoes = ProxyFactory.create(
                new ListaNegociacoes(),
                ['adiciona', 'esvazia'],(model) =>
                    this._negociacoesView.update(model));    

    }
3 respostas
solução!

Fala ai Marcelo, tudo bem? Na verdade o objeto você precisa passar para o Proxy ao invés de chamar new ListaNegociacoes(), no caso, seu código:

new Proxy(new ListaNegociacoes(),{

Você sempre vai criar um Proxy para lista de negociações, a mudança ficaria:

new Proxy(objeto,{

Agora sua factory de Proxy está genérica, ou seja, ela vai criar baseado no objeto que receber.

Espero ter ajudado.

Obrigado

Magina Marcelo, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.