Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida - Quando alterar o valor no padrão Proxy

Boa tarde!

No padrão proxy implementamos a seguinte lógica:

@Override
    public BigDecimal getValor() {
        if (this.valor == null) {
            this.valor = orcamento.getValor();
        }

        return this.valor;
    }

    // Main
    Orcamento novo = new Orcamento();
    novo.adicionarItem(new ItemOrcamento(new BigDecimal("500")));
    novo.adicionarItem(antigo);

    OrcamentoProxy orcamentoProxy = new OrcamentoProxy(novo);
    System.out.println(orcamentoProxy.getValor());
    System.out.println(orcamentoProxy.getValor());

    // adicionei um novo item, assim mudando o valor do orçamento
    novo.adicionarItem(new ItemOrcamento(new BigDecimal("500")));

    // Como pegar o valor atual? Ainda imprime o valor antigo do orçamento
    System.out.println(orcamentoProxy.getValor());

Mas e quando o valor do orçamento mudar? O proxy ainda estará pegando o valor antigo, como poderíamos pegar o valor atual do orçamento? Não consegui pensar uma forma de implementar isso...

1 resposta
solução!

Oi Gabriel,

Se houver uma atualização da informação o proxy deve ser invalidado, ou seja, um novo proxy deve ser criado com o novo valor.

Bons estudos!