В этой главе мы обсудим стандартный способ создания приложений на платформе 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
Функция обновления принимает сообщение и модель в качестве параметров.