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.