Junior — Middle
Pode descrever a sequência de ações do modelo na arquitetura MVI?
sobes.tech IA
Resposta da IA
Na arquitetura MVI (Model-View-Intent), o modelo é responsável por armazenar o estado e processar a lógica de negócio. A sequência de ações do modelo geralmente é a seguinte:
- Obter intenções (Intent) da View — ações ou eventos do utilizador.
- Processar essas intenções, executar a lógica de negócio e interagir com repositórios ou fontes de dados.
- Gerar um novo estado (State) com base no processamento.
- Enviar o estado atualizado de volta para a View para exibição.
Exemplo de ciclo simplificado:
sealed class Intent {
object LoadData : Intent()
data class Submit(val input: String) : Intent()
}
data class State(val data: List<String>, val isLoading: Boolean)
class Model {
private var state = State(emptyList(), false)
fun process(intent: Intent): State {
when (intent) {
is Intent.LoadData -> {
state = state.copy(isLoading = true)
// carregamento de dados
state = state.copy(data = listOf("item1", "item2"), isLoading = false)
}
is Intent.Submit -> {
// processamento da entrada
}
}
return state
}
}
Assim, o modelo é a única fonte de verdade para o estado da UI.