Wie soll ich meine Silverlight-Anwendung entwerfen?

8

Bisher habe ich Silverlight-Apps erstellt, bei denen die gesamte Logik in eine einzige xap-Datei zerlegt wurde. Aber wenn die Anwendung in der Größe wächst, Ich denke ernsthaft, dass ich meine Silverlight-Anwendung in kleinere unabhängige Anwendungen zerlegen sollte.

Ich würde gerne wissen, wie andere dieses zunehmende Größenproblem lösen.

    
egyamado 18.11.2013, 22:45
quelle

2 Antworten

17

Wenn Sie einige Änderungen an Ihrer Anwendung vornehmen möchten, indem Sie sie refaktorisieren und teilen, sollten Sie alle diese Aspekte berücksichtigen.

Benutzerdefinierte Steuerelemente erhalten ihre eigene Steuerbaugruppe

Erstellen Sie auf jeden Fall Steuerelemente für benutzerdefinierte Steuerelemente, die Sie entwickeln. Sie profitieren nicht nur von eigenständigen Steuerelementen und können optional in Ihren aktuellen und zukünftigen Projekten verwendet werden

  • Nutzen Sie die Standardsteuerungsstile
  • verwenden Sie die zwischengespeicherte Assembly-Funktion mit ihnen
  • Teilen Sie Komponenten mit anderen Projekten
  • investieren Sie in Ihren Kerncode und Ihre Steuerelemente, anstatt in die Bereinigung der Anwendungslogik zu investieren (wenn Sie beispielsweise statische oder Stilanalysen verwenden) - verbringen Sie Ihre Zeit dort, wo sie die größte Wirkung entfaltet

Berücksichtigen Sie das dynamische Laden neuer Baugruppen

Es gibt einige Methoden zum dynamischen Laden zusätzlichen Codes Ihrer App-Domain ist es möglich, weniger häufig verwendete Teile Ihrer App zu abstrahieren und diese in diese Komponenten zu laden. Dies ist eine komplexere und komplexere App, kann jedoch die Startleistung verbessern.

Es wird Zeit brauchen, den Code in andere Assemblys aufzuteilen, wenn Sie eine große Anwendung betrachten, und das Testen kann eine Herausforderung sein. Aber Sie können mit "Unterseiten" enden und Teile Ihrer App werden nur nach Bedarf geladen.

Wenn Sie sich die Zeit nehmen, ein System zu entwerfen, um neue Funktionen und Teile Ihrer App zu laden und dieses Framework zu erstellen, brauchen Sie Zeit, um es richtig zu machen. In der Regel wird AssemblyPart verwendet, um eine neue Assembly zu laden, in die Sie neue Objekte einfügen und in der Sie neue Objekte instanziieren können.

Zusammengesetzte Ressourcenwörterbücher

Resource Dictionaries können Sie Stile speichern, Vorlagen steuern und andere Ressourcen außerhalb von Seiten und außerhalb von App.xaml.

Im Cache gespeicherte Assemblys

Sobald Sie zu Silverlight 3 gewechselt haben, können Sie das verwenden Im Cache gespeicherte Baugruppen zum Speichern einzelner Baugruppen außerhalb Ihrer .Xap-Datei auf Ihrem Server - und als Bonus werden diese Baugruppen für eine gewisse Zeit auf der Maschine zwischengespeichert.

Eine Ressourcen-Diät

Verwenden Sie wirklich alle Grafikelemente, XAML, Steuerelemente, Zeichenfolgenressourcen usw., die in Ihrer XAP-Datei gespeichert sind? Überprüfen Sie es von Zeit zu Zeit und stellen Sie sicher, dass Sie das meiste für Ihr Byte bekommen.

Ein Begrüßungsbildschirm

Wenn Sie nur versuchen, die Leistung (Download-Zeit) für Ihre Anwendung zu verbessern, sollten Sie zunächst einen Begrüßungsbildschirm erstellen. Die Silverlight Toolkit-Beispiele haben eine - es ist eine einfache Silverlight-Seite, die geladen und angezeigt wird, während Ihre. Xap-Downloads.

Remote-Grafik

Anstatt Bildressourcen direkt in Ihre Anwendung / XAP zu integrieren, verschieben Sie Ihre Bilder auf Ihren CDN oder Server, damit sie nur bei Bedarf geladen werden können. Das ist oft ein schöner und schneller Gewinn.

Vereinfachen Sie Ihre App

Stellen Sie sicher, dass Sie tatsächlich XAML-lastig, grafiklastig usw. benötigen. Vielleicht kann es vereinfacht werden!

    
Jeff Wilcox 05.08.2009, 22:54
quelle
3

Sie sollten Ihre Silverlight-Module mit PRISM- oder MEF-Frameworks verteilen.

Besuchen Sie Ссылка

    
Shailender Singh 14.07.2011 10:00
quelle

Tags und Links