Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Gibt es bekannte Probleme bei der Verwendung von Microsoft.EXtendenssions.DesendyNjection mit mvvmcross


Gibt es bekannte Probleme bei der Verwendung von Microsoft.EXtendenssions.DesendyNjection mit mvvmcross


Verwenden von Microsoft.EXTENSSSS.DENPENDENCEIntum mit mvvmcross kann mehrere Herausforderungen und bekannte Themen darstellen:

1. Inkompatibilität mit MVVMCross -Startprozess: MVVMCross erfordert die Möglichkeit, Komponenten durch den Einrichtungsprozess teilweise aufzulösen und dann weiter zu registrieren, um mehr Komponenten zu registrieren. Microsoft.EXTENSSSS.DependencyInjection (Ms.DI) verlangt jedoch, dass alle Komponenten registriert werden, bevor sie ".build ()` in der Dienstsammlung aufrufen. Dieser grundlegende Unterschied lässt die beiden Systeme ohne zusätzliche Problemumgehungen inkompatibel, z.

2. Zweistufiger Start-up-Prozess: Um Ms.di mit MVVMCross zu nutzen, erstellen Entwickler häufig eine Ms.di-Service-Sammlung und übersetzen ihre Dienste dann in die Instanz des mvvmcross `imvxiocProvider`. Dieser Ansatz führt einen zweistufigen Startup-Prozess ein, der umständlich sein kann und zu zusätzlichen Komplexität und potenziellen Problemen führen kann [1].

3.. Abhängigkeitsinjektionsbeschränkungen: Der IOC -Behälter von MVVMCross behandelt den Singleton -Aspekt auf Grenzflächenebene, nicht den sofortigen Typ. Wenn eine Klasse mehrere Schnittstellen implementiert, kann MVVMCross für jede Schnittstelle separate Instanzen erstellen, sofern nicht explizit verwaltet [4]. Dies ist zwar nicht direkt mit Ms.di zu tun, unterstreicht jedoch die Notwendigkeit eines sorgfältigen Managements bei der Integration verschiedener Abhängigkeitsinjektionssysteme.

4. Upgrade- und Kompatibilitätsprobleme: Das Upgrade von MVVMCross -Versionen kann manchmal Probleme mit der Abhängigkeitsinjektion einführen, insbesondere bei der Verwendung von Basisansichtsmodellen. Beispielsweise können Änderungen der Konstruktorauswahllogik zwischen den Versionen beeinflussen, wie Abhängigkeiten injiziert werden [2].

Um diese Herausforderungen zu bewältigen, entscheiden sich Entwickler häufig dafür, die Funktionalität von MVVMCROSS zu verbessern, ohne den Kern -IOC -Container zu ersetzen. Dies ermöglicht die Verwendung zusätzlicher Abhängigkeitsinjektionsrahmen wie Ms.DI neben MVVMCross, was Flexibilität bei der Auswahl des IOC -Anbieters bietet [1] [5]. Dies erfordert jedoch eine sorgfältige Einrichtung und ein sorgfältiges Management, um Konflikte zu vermeiden und eine nahtlose Integration sicherzustellen.

Zusammenfassend lässt sich sagen, dass bei der Verwendung von Microsoft.EXTENSSS.DEPENDENCYINEPITIONEN MIT MVVMCROSS möglich ist, es erfordert eine sorgfältige Berücksichtigung des Start -up -Prozesses, potenzielle Inkompatibilitäten und sorgfältiges Management von Abhängigkeiten, um bekannte Probleme zu vermeiden.

Zitate:
[1] https://github.com/mvvmcross/mvmcross/issues/4436
[2] https://github.com/mvvmcross/mvmcross/issues/4183
[3] https://docs.particular.net/nserviceBus/dependency-injection/extensions-dependencyInjection
[4] https://stackoverflow.com/questions/23700121/possible-bug-with-dependency-injection-onjection-onjepmcross
[5] https://github.com/mvvmcross/mvmcross/issues/3804
[6] https://www.mvmcross.com/documentation/fundamentals/data-binding
[7] https://msicc.net/using-microsofts-textessions-pendencyInjection-package-xamarin-forms-mvvm-anapplications-part-part-2/
[8] https://www.mvvmcross.com/documentation/fundamentals/dependency-injection