Die Präsentatoren in MVVMCross spielen eine entscheidende Rolle bei der Verwaltung, wie Ansichtsmodelle in einer Anwendung dargestellt werden. Sie fungieren als Vermittler zwischen der View-Modellschicht und der tatsächlichen Benutzeroberfläche und ermöglichen eine flexible und plattformspezifische Darstellung von Ansichten.
Rolle der Sichtmoderatoren
1. Navigation und Präsentation: Die Präsentatoren behandeln Anfragen von Ansichtsmodellen, um zu neuen Ansichten zu navigieren oder die Präsentation vorhandener zu ändern. Sie entscheiden, wie diese Ansichten basierend auf den Funktionen der Plattform und den Anforderungen der Anwendung [1] [2] angezeigt werden.
2. Plattformspezifische Implementierung: Da Moderatoren direkt mit der View-Ebene umgehen, sind sie von Natur aus plattformspezifisch. Auf diese Weise können Entwickler die Präsentation basierend auf dem Gerätetyp anpassen, z. B. die Verwendung von Registerkarten für iOS und Android, aber eine Pivot -Ansicht auf Windows Phone [1].
3. Anpassung und Flexibilität: Moderatoren ermöglichen es Entwicklern, verschiedene Präsentationsstrategien für verschiedene Bildschirmgrößen oder -orientierungen zu implementieren. Auf einem kleinen Telefonbildschirm können beispielsweise eine Liste und Details in separaten Bildschirmen angezeigt werden, während sie auf einem Tablet neben einer geteilten Ansicht nebeneinander angezeigt werden können [1].
4. Verwendung von Präsentationswerten: Moderatoren können zusätzliche Informationen über "Präsentationsprogramme" erhalten, die Teil des `MVXViewModelRequest` sind. Auf diese Weise können Ansichtsmodelle Hinweise an den Moderator übertragen, wie die Ansicht präsentiert werden soll, z. B. das Löschen des Navigationsstapels nach einem Anmeldevorgang [7].
5. Standard- und benutzerdefinierte Moderatoren: MVVMCross bietet Standard -Moderatoren für jede Plattform, aber Entwickler können auch benutzerdefinierte Präsentatoren erstellen, um die spezifischen Anwendungsanforderungen zu erfüllen. Benutzerdefinierte Moderatoren können das Standardverhalten überschreiben, um eindeutige Navigationsmuster oder Präsentationsstile zu implementieren [2] [4].
Schlüsselmethoden der Sichtmoderatoren
- `show (mvxViewModelRequest -Anforderung)`: Diese Methode wird aufgerufen, wenn `showViewModel ()` aus einem Ansichtsmodell aufgerufen wird. Es konstruiert und zeigt die entsprechende Ansicht basierend auf den Anforderungsdetails [1].
- `ChangePresentation (MVXPresentationHint -Hinweis)`: Diese Methode ermöglicht Präsentationsänderungen, bei denen kein neues Ansichtsmodell angezeigt wird, z. B. das Schließen einer Ansicht oder das Ändern des Präsentationsmodus [1].
Vorteile der Verwendung von Sichtgeräern
- Entkopplung: Moderatoren helfen dabei, die Ansichtsmodelllogik aus der UI -Präsentation zu entkoppeln, sodass sauberer und wartbarerer Code.
.
- Anpassung: Sie bieten eine flexible Möglichkeit, die Benutzeroberfläche an verschiedene Geräte und Bildschirmgrößen anzupassen, ohne die Ansichtsmodelllogik zu ändern.
Zusammenfassend sind die Präsentatoren in MVVMCross von wesentlicher Bedeutung, um zu verwalten, wie Ansichten auf verschiedenen Plattformen präsentiert werden, und bieten Flexibilität, Anpassung und eine saubere Trennung von Bedenken zwischen dem View -Modell und den UI -Schichten.
Zitate:[1] https://gregshackles.com/presenter-in-mvmcross-a-primer/
[2] https://www.mvmcross.com/documentation/getting-started/mvmcross-overview
[3] https://learn.microsoft.com/en-us/archive/msdn-magazine/2011/december/mvpvm-design-pattern-the-model-view-presenter-viewmodel-design-pattern-pattern-wpf
[4] https://www.mvmcross.com/mvmcross-5-release/
[5] https://www.mvmcross.com/documentation/platform/ios/ios-view-presenter
[6] https://softwareEngineering.stackexchange.com/questions/60774/model-view-presenter-implementation-houghts
[7] https://gregshackles.com/presenter-in-mvmcross-using-presentation-values/
[8] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-presenter
[9] https://www.gatling.xyz/explaining-model-view-presenter/
[10] https://www.mvmcross.com/documentation/platform/android/android-view-presenter