Ulme - Architektur

In diesem Kapitel werden wir die Standardmethode zum Erstellen von Anwendungen auf der Elm-Plattform erläutern. Elm verwendet ein Architekturmuster ähnlich dem Model-View-Controller-Muster.

Es folgen die vier Hauptteile von Elm Architecture.

  • Model
  • View
  • Message
  • Update

Wie funktioniert die Elm-Architektur?

Das modelenthält den Anwendungsstatus. Wenn eine Anwendung beispielsweise eine Kundenliste anzeigt, enthält der Status alle Kundendaten. Um den Status auf vorzeigbare Weise anzuzeigen, aview/ html muss generiert werden. Sobald der Benutzer mit der Ansicht interagiert, indem er eine Taste drückt oder Daten in ein Formular eingibt, generiert die Ansicht aufgerufene Signalemessages. Nachrichten werden an die weitergeleitetupdateMethode, die die Nachrichten auswertet und geeignete Maßnahmen ergreift. Daher generiert die Aktualisierungsmethode ein neues Modell.

Das neue Modell generiert eine neue Ansicht. Die Ansicht führt zu neuen Interaktionen zwischen Benutzer und Signalmeldungen, die zur Aktualisierungsfunktion führen. Außerdem erstellt die Funktion ein neues Modell. Der Zyklus wiederholt sich also wie im obigen Diagramm gezeigt.

Modell

Das Modell befasst sich mit dem Status der Anwendung. Die Syntax zum Definieren eines Modells ist unten angegeben -

-- Model syntax

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

Um ein Modell zu erstellen, müssen wir zuerst eine Vorlage mit allen darin erforderlichen Eigenschaften erstellen. Jede Eigenschaft gibt den Status der Anwendung an.

Aussicht

Ansicht ist eine visuelle Darstellung des Anwendungsstatus. Die Ansicht weiß, wie man Daten nimmt und daraus eine Webseite generiert. Wenn ein Benutzer mit der Ansicht interagiert, kann er den Status durch Generieren von Nachrichten ändern. Die Syntax zum Definieren einer Ansicht ist unten angegeben -

--View Syntax
view model =some_implementation

Botschaft

Die Nachricht ist eine Anforderung des Benutzers, den Anwendungsstatus zu ändern. Nachrichten werden als Parameter an die Aktualisierungsfunktion übergeben.

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

Die Syntax zeigt einen Typ Nachricht. Die Ulmenanwendung bearbeitet den Status basierend auf den an sie übergebenen Nachrichten. Diese Entscheidungen werden in der Aktualisierungsmethode getroffen.

Aktualisieren

Die Aktualisierungsfunktion interpretiert die Nachrichten, die als Parameter an sie übergeben werden, und aktualisiert das Modell.

--Update Syntax
update Message_type model =
   some_implementation

Die Update-Funktion dauert Message und Modell als Parameter.