0
respostas

Como representar o Strategy com dados vindo do banco

Suponhamos que em um banco de dados exista uma tabela representando os orçamentos, uma tabela representando os impostos, e uma tabela representando o relacionamento entre orçamento e impostos, exemplo:

tabela orcamentos: id, valor tabela impostos: id, nome tabela pedido: id, id_orcamento, id_imposto, total

Para passar para o método de calcular de impostos a instancia de um dos registros da tabela de impostos, pensei em algo do tipo:

$orcamento = new Orcamento(); $orcamento->valor = $request('valor'); $orcamento->salvaNoBanco();

$pedido = new Pedido(); $pedido->id_orcamento = $orcamento->id(); $pedido->id_imposto = $request('id_imposto');

$imposto = new Imposto(); $imposto->encontraPeloId($pedido->id_imposto);

$calculadora = new CalculadoraDeImpostos();

$pedido->total = $orcamento->valor + $calculadora->calcula($orcamento, new $imposto->nome());

$pedido->salvaNoBanco();

Está correto e é uma boa abordagem? para min isso deixa abertura para erros como nomes de impostos incorretos, falta de implementação de classes que não estão registradas no banco de dados.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software