Fortuna Entwickler Blog

Hier wird Ihnen geholfen

Models in Fortuna 5.0

Fortuna.models.Verwendung

Models werden bei Fortuna 5.0 in zwei zu nennenden Bereichen eingesetzt: 

  • Kommunikation zwischen Fortuna.Services und Fortuna.Clients. Hier beschreiben die Models die Objekte, die mittels REST übermittelt werden
  • Kommunikation zwischen Fortuna.Clients und der WebApplikation. Hier beschreiben die Services die Objekte, welche nach extern (z.B. HTML Frontend) geliefert werden.

Für die Kommunikation zwischen Service und Client bietet es sich an, zwischen Request- und Response-Models (Kommunikationswege aus Sicht des Clients) zu unterscheiden.

Bei der Kommunikation zwischen Client und WebApplikation wird man nur zum Teil gesonderte Models benötigen. Geht es um die reine Anzeige / Ausgabe von Daten, so ist möglicherweise das Response-Model aus der Service-Client Kommunikation direkt verwendbar. Bei der Datenpflege ist je nach Anwendungsfall zu entscheiden, ob die vorhandenen Models verwendet werden können, oder ob gesonderte Models benutzt werden und für die Weitergabe an die Services eine Transformation eingesetzt wird.

Ein Model beschreibt immer nur die Struktur eines Objektes und stellt keine eigene Funktionalitäten bereit. Datenmanipulationen sind nur in geringem Umfang im Model umzusetzen (Beispiel: aus den Eigenschaften Vorname und Nachname ein Feld Name bereitstellen, welches dann aus Nachname, Vorname oder auch Vorname Nachname besteht, oder eine IBAN in maschinenlesbarer und mit Leerstellen aufbereiteter Form zur Verfügung stellen).

Namespaces

Models liegen im Namespace Fortuna.Models. Applikationsspezifische Models entsprechend unter Fortuna.Models.MeineApp. Für Models, welche für Querschnittsfunktionalitäten genutzt werden, ist zu prüfen, ob diese entsprechend der Verwendung gruppiert werden können (also z.B. Fortuna.Models.Kommunikation.MeinModel). Ansonsten erfolgt die Zuordnung unter Fortuna.Models.Common (also z.B. Fortuna.Models.Common.MeinModel).

Bei der Unterscheidung nach Request- und Response-Models ist der Namespace Applikationsspezifisch entsprechend zu unterteilen (also Fortuna.Models.MeineApp.Request und Fortuna.Models.MeineApp.Response).

Da die gleichen Models möglicherweise in verschiedenen Projekten einer Applikation verwendet werden, sind diese in einem eigenen Projekt abzulegen. Das Projekt bekommt den Namen des Namespaces ungeachtet von möglicher Unterscheidung nach Request und Response (also im Beispiel Fortuna.Models.MeineApp.csproj). Models für Querschnittsfunktionalitäten werden in einem Projekt Fortuna.Models.Common abgelegt. Dies gilt auch bei einer vorgenommen Gruppierung.

Kommentar schreiben

Loading