1
resposta

[Sugestão] Discordância de gabarito

Bom dia, time Alura!

Ponderei por alguns instantes se eu deveria criar esse tópico. Mas acredito que haja uma discordância de gabarito entre as duas alternativas que são quase idênticas. Entretanto, estou aqui na posição de estudante e é possível que eu esteja equivocado. Nesse caso, peço desculpas e orientações para entender melhor a resposta da questão.

De forma breve, a única diferença nas alternativas é que o item A afirma que os métodos acessados são apenas os disponibilizados pelo consumer widget, enquanto a alternativa D deixa a origem desses métodos em aberto. Acredito que faz sentido ser a alternativa A, uma vez que só podemos acessar os métodos previamente criados pelo nosso model e disponibilizados pelo consumer em nossa árvore de widgets.

image

1 resposta

Olá, Matheus!

Entendo o seu ponto, realmente as alternativas A e D parecem muito similares. No entanto, a diferença crucial entre elas está na origem dos métodos mencionados.

Na alternativa A, é dito que "os métodos acessados são apenas os disponibilizados pelo consumer widget", o que não é completamente verdadeiro. O consumer widget não disponibiliza métodos, ele apenas consome os dados e métodos que são fornecidos pela model provider.

Por outro lado, a alternativa D afirma que "Com o consumer, podemos ler dados da model e também acessar métodos e enviar dados. Há uma comunicação bidirecional.". Isso está correto, pois é exatamente isso que o consumer faz. Ele consome os dados e métodos fornecidos pela model provider, permitindo uma comunicação bidirecional entre a model e a árvore de widgets.

Então, a alternativa D é a correta porque ela descreve com precisão o papel do consumer no gerenciamento de estados com o Provider no Flutter.

Espero que essa explicação tenha esclarecido sua dúvida. Espero ter ajudado e bons estudos!

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