mit wpf und prism anwendungen modular entwickeln wpf und prism... · mit wpf und prism anwendungen...
TRANSCRIPT
Mit WPF und PRISM Anwendungen modular
entwickeln
Ing. Christian Giesswein, MSc.
@giessweinweb
www.software.tirol
About Me
• Ing. Christian Giesswein, [email protected]
• Die bunte Welt von C#/.NET• C#, ASP.NET, WCF, WPF, ADO.NET,..
• Fachzeitschriften & Konferenzen• DotNetPro, cT, VisualStudio1, Windows Developer• .NET Cologne, NRWConf, TeamConf, DDC, DWX,...
• Giesswein Software-Solutions• Consulting, Development & Schulungen
Agenda - Reiseroute
• Modulare Architektur
• WPF + Binding = MVVM
• PRISM Grundlagen
• Praxis!
20%
80%
Modulare ArchitekturChristian Giesswein
4
Dependency Injection
• Bevor man sich den „Kopf zerbrechen“ sollte über Modularen Aufbau, ist es wichtig, den Code modular zu gestalten.• 1 Klasse mit 20.000 Zeilen ist selten „modular“
• Modularität geht mit einer „schwachen Kopplung“ einher.
Dependency Injection
• Klassen sind nicht mehr zuständig für Ihre Abhängigkeiten.
• Eine Softwarekomponente ist zuständig jede notwendige Abhängigkeit aufzulösen.
• Verantwortlichkeit hat der DI-Container
• Splittet die Klasse weiter auf• Unabhängig von der Erzeugung der Objekte
Dependency Injection
• Injection ist mit verschiedenen Techniken möglich:• Propertyinjection
• Constructorinjection
• Methodinjection
• Fieldinjection
WPFChristian Giesswein
8
Bindings
• Binding ermöglichen den Datenzugriff sowie Datenänderung
• Daten werden vom DataContext abgerufen
• Mode vom Binding gibt an welche Richtung(en)
9
Target(meistens DP in der UI)
BindingSource
(object / UI)
Grundlagen
• MVVM• Trennung von Daten, Logik und Oberfläche
• Programmierer kümmert sich im Idealfall nicht um die Oberfläche
• Designer kümmert sich um die Oberfläche
• Jeder tut das was er am besten kann
10
Model ViewModel View
PRISMChristian Giesswein
11
PRISM
• Aktuellste Version: 6.1 (2016)• Früher: https://compositewpf.codeplex.com/
• Heute: http://www.github.com/prismlib
• Dokumentation:• http://msdn.microsoft.com/en-
us/library/gg406140.aspx
PRISM 5.0 Besteht aus:Prism.CompositionPrism.MvvmPrism.PubSubEventsPrism.Interactivity
PRISM 6.1 Besteht aus:PrismPrism.Wpf
Modularer Aufbau
Anwendung .exe(Shell)
Konfiguration / Starten
Module A
XAML + C#
Module B
XAML
Module C
C#
Infrastruktur
XAML + C# + …
Zwei Wege von Modularität
Zwei Wege von Modularität
Initialisierung von PRISM
• „Bootstrapper“ ist zuständig für die Initialisierung
Wenn Sie mehr wissen wollen…
Weitere Termine für die 2. Jahreshälfte ab Mitte Mai unter www.developer-media.de.Alle Trainings auch als Inhouse-Schulungen in Ihrem Unternehmen buchbar.
Twitter: @giessweinweb
Email: [email protected]
Web: www.software.tirol
… oder persönlich :-)
Vielen Dank für Ihre Aufmerksamkeit