Substituir ModularState
por State
e injetar IQuizController
via parâmetro em QuizContentState
#349
Labels
dependencies
Pull requests that update a dependency file
deprecation
Para destacar o uso de componentes obsoletos
good first issue
Good for newcomers
refactor
Envolve melhorias no código, como substituir o componentes obsoletos
Descrição
Atualmente, a classe
QuizContentState
estendeModularState
e utiliza oIQuizController
diretamente através doModular
. Para melhorar a testabilidade e a clareza do código, propomos substituir oModularState
peloState
padrão do Flutter e injetar oIQuizController
via passagem de parâmetro no construtor.Alterações Propostas
Remover a herança de
ModularState
:QuizContentState
deixará de estenderModularState
e passará a estenderState<QuizContent>
diretamente.Injetar
IQuizController
via construtor:IQuizController
será passado como parâmetro no construtor deQuizContentState
.QuizContent
será responsável por fornecer oIQuizController
aoQuizContentState
.Atualizar o método
build
doQuizContent
:QuizContent
passará oIQuizController
para oQuizContentState
ao criar o estado.Código Atual
Código Proposto
Atualização do
QuizContent
Benefícios
IQuizController
.ModularState
torna o código mais explícito sobre as dependências necessárias para o funcionamento doQuizContentState
.QuizContentState
não está mais acoplada aoModular
, o que pode facilitar futuras migrações ou mudanças na arquitetura.Impacto
IQuizController
seja corretamente injetado.Passos para Implementação
QuizContentState
para estenderState<QuizContent>
e receber oIQuizController
via construtor.QuizContent
para passar oIQuizController
ao criar o estado.Considerações Finais
Essa mudança é um passo importante para melhorar a qualidade do código e facilitar a manutenção e testes futuros. A equipe deve revisar e validar as alterações propostas antes de implementá-las.
The text was updated successfully, but these errors were encountered: