No método "avanca" do exemplo, poderia ter utilizado o padrão State? Ou não faz sentido por já tem os status definidos e provavelmente serão os únicos?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No método "avanca" do exemplo, poderia ter utilizado o padrão State? Ou não faz sentido por já tem os status definidos e provavelmente serão os únicos?
Olá, Heliomar! Tudo bem?
Peço desculpas pela demora em obter um retorno!
No exemplo que você mencionou, se os status já estão definidos e provavelmente serão os únicos, não faz muito sentido utilizar o padrão State. O padrão State é útil quando um objeto pode ter diferentes comportamentos dependendo do seu estado atual e quando esses comportamentos podem variar dinamicamente.
No entanto, se no futuro houver a possibilidade de adicionar novos status ou se os status existentes puderem ter comportamentos diferentes, aí sim o padrão State poderia ser uma opção interessante. Ele permitiria encapsular o comportamento específico de cada estado em classes separadas, facilitando a manutenção e a extensibilidade do código.
Espero ter ajudado e bons estudos!