Elm - Arquitetura
Neste capítulo, discutiremos a maneira padrão de criar aplicativos na plataforma Elm. Elm usa um padrão arquitetônico semelhante ao padrão Model-View-Controller.
A seguir estão as quatro partes principais da arquitetura Elm.
- Model
- View
- Message
- Update
Como funciona a arquitetura Elm
o modelcontém o estado do aplicativo. Por exemplo, se um aplicativo exibe uma lista de clientes, o estado conterá os dados de cada cliente. Para exibir o estado de maneira apresentável, umview/ html deve ser gerado. Uma vez que o usuário interage com o view pressionando um botão ou digitando dados em um formulário, o view gera sinais chamadosmessages. As mensagens são passadas para oupdatemétodo, que avalia as mensagens e toma as medidas adequadas. Portanto, o método de atualização irá gerar um novo modelo.
O novo modelo gera uma nova visão. A visualização levará a novas interações do usuário para mensagens de sinal, que vão para a função de atualização. Além disso, a função cria um novo modelo. Portanto, o ciclo se repete conforme mostrado no diagrama acima.
Modelo
O modelo lida com o estado do aplicativo. A sintaxe para definir um modelo é fornecida abaixo -
-- Model syntax
type alias Model = {
property1:datatype,
proptery2:datatype
...
}
Para criar um modelo, precisamos primeiro criar um modelo com todas as propriedades exigidas nele. Cada propriedade especifica o estado do aplicativo.
Visão
Visualização é uma representação visual do estado do aplicativo. A View sabe como extrair dados e gerar páginas da web a partir deles. Quando um usuário interage com a Visualização, o usuário pode manipular o estado gerando mensagens. A sintaxe para definir uma visão é fornecida abaixo -
--View Syntax
view model =some_implementation
mensagem
A mensagem é uma solicitação do usuário para alterar o estado do aplicativo. As mensagens são passadas como parâmetro para a função de atualização.
--Message Syntax
type Message = Message1 |Message2 ...
A sintaxe mostra um tipo Message. O aplicativo elm editará o estado com base nas mensagens transmitidas a ele. Essas decisões são feitas no método de atualização.
Atualizar
A função update interpreta as mensagens, que são passadas como parâmetro para ela, e atualiza o modelo.
--Update Syntax
update Message_type model =
some_implementation
A função de atualização leva Message e Model como parâmetros.