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

Dúvida sobre refatoração do hook useCarrinhoContex

Esta refatoração do useCarrinhoContex, realocação do useMemo e o uso do useReducer além do propósito das melhoria do código, vai de encontro com as ideias do SOLID, certo?

1 resposta
solução!

Olá Davi!

Sim, a refatoração que você está fazendo no useCarrinhoContext, utilizando useMemo e useReducer, está alinhada com os princípios do SOLID, especialmente no que diz respeito à responsabilidade única e ao princípio de substituição de Liskov.

Ao utilizar o useReducer, você está separando a lógica de atualização do estado do componente, o que melhora a clareza e a manutenção do código. Isso se alinha com o princípio de responsabilidade única, pois cada função e componente tem uma única responsabilidade bem definida. Além disso, ao definir as ações e o reducer, você está criando um contrato claro sobre como o estado pode ser modificado, o que também está em linha com o princípio de substituição de Liskov, garantindo que as substituições de comportamento sejam previsíveis e seguras.

Por exemplo, ao criar ações como addProdutoAction, removeProdutoAction e updateQuantidadeAction, você está encapsulando a lógica de manipulação do carrinho de forma que, se precisar alterar a forma como um produto é adicionado ou removido, você só precisará modificar a lógica dentro dessas funções, sem impactar o restante do código.

Espero ter ajudado e bons estudos!