[SWIFT] [iOS] [MVVM] Sollte die Konvertierung von Datum in Zeichenfolge in ViewModel oder View erfolgen?

Thema

Angenommen, in einer mit MVVM erstellten App ist in Date in Model (einer Datenbank) ein Wert gespeichert.

Wenn Sie es auf dem Bildschirm anzeigen,

Die Spezifikationen sind wie folgt.

In diesem Moment, ** Sollte diese Konvertierung und Formatierung in der ViewModel-Ebene erfolgen? Oder sollte es in der Ansichtsebene erfolgen? ** ** ** Das ist das Thema, das in diesem Artikel behandelt wird.

Erwägung

Das Folgende ist meine eigene Überlegung.

Um zum Schluss zu kommen, Ich denke ** im Prinzip ist es besser, es in der ViewModel-Ebene zu tun ** Ich denke.

Es scheint in der Verantwortung von "How to Show" zu liegen, und in der Praxis ist es oft ein einfacher Code, eine Erweiterung zu schreiben, daher denke ich, dass einige Leute daran denken, dies mit View zu tun ...

Beim Bearbeiten von Datum → Zeichenfolge zusätzlich zum Gebietsschema: "Stimmt die Zeitzone mit den Terminaleinstellungen überein? Ist sie in Japan behoben?" Oder "Was ist, wenn der von der API angegebene Wert als Datum und Uhrzeit ungeeignet ist?" Dies liegt daran, dass häufig Probleme im Domain-Bereich enthalten sind, die über das reine Anzeigen hinausgehen.

Gleiches gilt für numerische Werte. Wenn Sie beispielsweise den numerischen Wert "1234567" nur mit einem Komma wie "1.234.567" bearbeiten, liegt meines Erachtens kein Problem in der Verantwortung der Ansichtsebene. Wenn es sich jedoch um eine Währung handelt, handelt es sich normalerweise um ein Problem im Domänenbereich. Da es enthalten sein wird, ist es meiner Meinung nach besser, es in die Verantwortung der ViewModel-Ebene zu legen.

Mit anderen Worten, es ist angebracht, es als ViewModel-Ebene zu klassifizieren, wenn die Verarbeitung bearbeitet wird, die Probleme im Domänenbereich enthält, und als View-Ebene ** im Fall einer einfachen Formatbearbeitung, die es nicht enthält.

Ich denke, dass eine solche Unterteilung den Vorteil hat, dass es einfacher ist, Komponententests für Logik zu schreiben, die Probleme im Domänenbereich enthalten.

Referenzartikel

Beispiel eines MVVM-Musters zur Beseitigung von FatViewController in großen iOS-Apps

Recommended Posts

[iOS] [MVVM] Sollte die Konvertierung von Datum in Zeichenfolge in ViewModel oder View erfolgen?
Wie oft sollte der String-Join in StringBuilder geändert werden?
Einführung in Rakefile, die in ca. 10 Minuten durchgeführt werden kann