Учебники

Вяз — Архитектура

В этой главе мы обсудим стандартный способ создания приложений на платформе Elm. В Elm используется архитектурный шаблон, похожий на шаблон Model-View-Controller.

Следующее — четыре главных части Архитектуры Вяза.

  • модель
  • Посмотреть
  • Сообщение
  • Обновить

Архитектура

Как работает архитектура вяза

Модель содержит состояние приложения. Например, если приложение отображает список клиентов, состояние будет содержать данные о каждом клиенте. Чтобы отобразить состояние в презентабельной форме, необходимо создать представление / HTML. Как только пользователь взаимодействует с представлением, нажимая кнопку или вводя данные в форме, представление генерирует сигналы, называемые сообщениями . Сообщения передаются методу обновления , который оценивает сообщения и предпринимает надлежащие действия. Таким образом, метод обновления будет генерировать новую модель.

Новая модель создает новый вид. Представление приведет к новым взаимодействиям от пользователя, чтобы сигнализировать сообщения, которые идут, чтобы обновить функцию. Далее функция создает новую модель. Итак, цикл повторяется, как показано на рисунке выше.

модель

Модель имеет дело с состоянием приложения. Синтаксис для определения модели приведен ниже —

-- Model syntax

type alias Model = {
   property1:datatype,
   proptery2:datatype
...
}

Чтобы создать модель, нам нужно сначала создать шаблон со всеми необходимыми свойствами. Каждое свойство определяет состояние приложения.

Посмотреть

Вид — это визуальное представление состояния приложения. Представление знает, как извлечь данные и создать из них веб-страницу. Когда пользователь взаимодействует с представлением, он может манипулировать состоянием, генерируя сообщения. Синтаксис для определения Представления дан ниже —

--View Syntax
view model =some_implementation

Сообщение

Сообщение — это запрос пользователя на изменение состояния приложения. Сообщения передаются в качестве параметра функции обновления.

--Message Syntax
type Message = Message1 |Message2 ...

Синтаксис показывает тип сообщения. Приложение elm будет редактировать состояние на основе сообщений, переданных ему. Эти решения принимаются в методе обновления.

Обновить

Функция update интерпретирует сообщения, которые передаются ей в качестве параметра, и обновляет модель.

--Update Syntax
update Message_type model =
   some_implementation

Функция обновления принимает сообщение и модель в качестве параметров.