Logo boatexistence.com

Sollte das Ansichtsmodell Logik enth alten?

Inhaltsverzeichnis:

Sollte das Ansichtsmodell Logik enth alten?
Sollte das Ansichtsmodell Logik enth alten?

Video: Sollte das Ansichtsmodell Logik enth alten?

Video: Sollte das Ansichtsmodell Logik enth alten?
Video: Jetpack Compose migration code-along 2024, Kann
Anonim

1 Antwort. Kurze Antwort, Ja.

Sollte ViewModel eine Logik haben?

Die Aufgabe des ViewModel kann darin bestehen, den Kontostand in einen String umzuwandeln, der als Bindung in der Ansicht verwendet wird. Sie möchten so viel Logik wie möglich aus dem ViewModel heraush alten, damit Ihr Code wiederverwendbar und lose gekoppelt bleibt. Ich stimme dem nicht zu. Ein Modell sollte idealerweise nur Eigenschaften haben, weil Modelle die Daten repräsentieren

Was sollte ein ViewModel enth alten?

Das am einfachsten zu verstehende Ansichtsmodell ist eines, das ein Steuerelement oder einen Bildschirm in einer 1:1-Beziehung direkt darstellt, wie in "Bildschirm XYZ hat ein Textfeld, ein Listenfeld und drei Sch altflächen, daher benötigt das Ansichtsmodell ein String, eine Sammlung und drei Befehle" Eine andere Objektart, die in die Ansichtsmodellebene passt, ist ein …

Enthält ViewModel Geschäftslogik?

ViewModel: ViewModel ist die mittlere Ebene zwischen Ansicht und Modell. ViewModel enthält die Geschäftslogik, die die in der Ansicht anzuzeigenden Zeilendaten manipuliert. Jede Art von Funktion und Methoden sollte im Ansichtsmodell enth alten sein. Die iNotifyPropertyChanged-Schnittstelle wird im ViewModel verwendet, um eine bidirektionale Bindung zu erreichen.

Sollte ViewModel eine Schnittstelle haben?

3 Antworten. Das Verbinden Ihrer ViewModels gibt Ihnen den Vorteil, sie in einem Test zu verspotten, das Verbinden Ihrer Views sieht in der Tat wie ein Overkill aus. Sie werden Ihre Ansichten nicht austauschen und UI-Tests können mit Nachbildungen Ihres ViewModel durchgeführt werden, sodass Sie nicht wirklich eine Schnittstelle mit ihnen erstellen müssen, denke ich. Es ist ein Overkill.

Empfohlen: