Elm 架构



本章将讨论在 Elm 平台上创建应用程序的标准方法。Elm 使用类似于模型-视图-控制器 (MVC) 模式的架构模式。

以下是 Elm 架构的四个主要部分。

  • 模型 (Model)
  • 视图 (View)
  • 消息 (Message)
  • 更新 (Update)
Architecture

Elm 架构如何工作

模型包含应用程序状态。例如,如果一个应用程序显示客户列表,则状态将包含每个客户的数据。为了以可呈现的方式显示状态,必须生成一个视图/html。一旦用户通过按下按钮或在表单中键入数据来与视图交互,视图就会生成称为消息的信号。消息被传递到更新方法,该方法评估消息并采取适当的操作。因此,更新方法将生成一个新的模型。

新的模型生成一个新的视图。视图将导致用户产生新的交互来发出消息,这些消息将传递到更新函数。此外,该函数创建一个新的模型。因此,循环重复,如上图所示。

模型 (Model)

模型处理应用程序的状态。定义模型的语法如下:

-- Model syntax

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

要创建一个模型,我们首先需要创建一个包含所有所需属性的模板。每个属性都指定应用程序的状态。

视图 (View)

视图是应用程序状态的可视化表示。视图知道如何获取数据并从中生成网页。当用户与视图交互时,用户可以通过生成消息来操作状态。定义视图的语法如下:

--View Syntax
view model =some_implementation

消息 (Message)

消息是用户更改应用程序状态的请求。消息作为参数传递给更新函数。

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

语法显示了一个 Message 类型。Elm 应用程序将根据传递给它的消息来编辑状态。这些决策是在更新方法中做出的。

更新 (Update)

更新函数解释作为参数传递给它的消息,并更新模型。

--Update Syntax
update Message_type model =
   some_implementation

更新函数将消息和模型作为参数。

广告