Boa noite.
Ao assistir o video da aula 13, atividade 03, percebi que é criado um método getTotal na classe Carrinho e um getTotal na classe ItemCarrinho. Me pergunto se não seria mais pratico e, talvez, mais intuitivo, calcular este valor diretamente na classe Carrinho, visto que o carrinho já conhece a quantidade total dos itens e o seu próprio valor total (soma do preço de todos os itens que estão no carrinho).
O código da aula esta assim:
Classe Carrinho:
public BigDecimal getTotal(CarrinhoItem item){
return item.getTotal(getQuantidade(item));
}
Classe CarrinhoItem
public BigDecimal getTotal(int quantidade) {
return this.getPreco().multiply(new BigDecimal(quantidade));
}
Eu implementei assim
Classe Carrinho:
public BigDecimal getTotalItem(ItemCart item) {
return item.getPrice().multiply(new BigDecimal(this.getQuantity(item)));
}
Estou deixando de notar algum padrão, boa pratica, etc? Sinceramente eu fiquei com a sensação de que estamos espalhando "código extra" pela aplicação, visto que o getTotal da classe Carrinho so passa a quantidade total de itens para o getTotal da Classe CarrinhoItem, que devolve esse valor calculado, ou seja, quem realmente sabe o valor total (quantidade x preço) de um determinado item que se encontra no carrinho é o Item do Carrinho, e não o Carrinho de compras, e isso me pareceu um pouco estranho.
Obrigado