Junior — Middle
Pode explicar a essência do padrão arquitetónico Model-View-Intent (MVI)?
sobes.tech IA
Resposta da IA
O padrão de arquitetura Model-View-Intent (MVI) é utilizado para construir aplicações de interface de utilizador com uma separação clara de responsabilidades e gestão do estado.
Componentes principais do MVI:
- Model — representa o estado da aplicação, geralmente imutável. É a fonte da verdade para a UI.
- View — exibe o estado do modelo e envia eventos de utilizador (intenções).
- Intent — intenções do utilizador, que são transformadas em ações para alterar o estado.
No MVI, o fluxo de dados geralmente é assim:
- O utilizador interage com a View, gerando uma Intent.
- A Intent é processada, chamando a atualização do Model.
- O Model atualiza o estado.
- A View subscreve-se às mudanças no Model e atualiza a UI.
Isto garante um fluxo de dados unidirecional e previsibilidade do estado, facilitando testes e manutenção.
Exemplo em Swift (simplificado):
struct Model {
var text: String
}
enum Intent {
case updateText(String)
}
class ViewModel {
private(set) var model = Model(text: "")
func process(intent: Intent) {
switch intent {
case .updateText(let newText):
model.text = newText
}
}
}
Aqui, o ViewModel recebe uma Intent e atualiza o Model, e a View exibe o estado atual do Model.