Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

VS one Veranstalter: VSone 13.-14. Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler

Ähnliche Präsentationen


Präsentation zum Thema: "VS one Veranstalter: VSone 13.-14. Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler"—  Präsentation transkript:

1 VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler

2 VS one Veranstalter: VSone Feb. 08 Folie 2 Copyright by Agenda Technologische Grundlagen Wie funktioniert Serialisierung Limitierungen überwinden Anwendungsgebiete Datenobjekte persistieren Eigene Konfigurationsdateien Praxiserfahrungen

3 VS one Veranstalter: VSone Feb. 08 Folie 3 Copyright by Vorstellung Thomas Schissler Software-Architekt und Projektleiter artiso AG Schwerpunkte sind Team Foundation Server Entwicklungsprozesse Software-Architektur und Software Design Leiter der.net Developergroup Ulm (www.dotnet-ulm.de)www.dotnet-ulm.de Blog :

4 VS one Veranstalter: VSone Feb. 08 Folie 4 Copyright by Technologische Grundlagen Was ist Serialisierung???

5 VS one Veranstalter: VSone Feb. 08 Folie 5 Copyright by Technologische Grundlagen Was ist Serialisierung???

6 VS one Veranstalter: VSone Feb. 08 Folie 6 Copyright by Technologische Grundlagen Was ist Serialisierung???

7 VS one Veranstalter: VSone Feb. 08 Folie 7 Copyright by Technologische Grundlagen Demo Ein erstes Beispiel

8 VS one Veranstalter: VSone Feb. 08 Folie 8 Copyright by Technologische Grundlagen Was ist bei der XML-Serialisierung zu beachten? Es werden nur public-Properties serialisiert Die zu serialisierende Klasse braucht einen parameterlosen Konstruktur Der kann aber auch private sein Steuerung der Serialisierung erfolgt über Attribute

9 VS one Veranstalter: VSone Feb. 08 Folie 9 Copyright by Technologische Grundlagen Die wichtigsten Attribute [XmlAttribute(Name, DataType=Type)] Das Property wird als XML-Attribut statt als XML- Element serialisiert [XmlElement (Name)] Steuert den Name des XML-Elements [XmlIgnore] Ignoriert das Property beim serialisieren [XmlInclude(typeof(class a))] Bindet abstrakte Klassen mit ein

10 VS one Veranstalter: VSone Feb. 08 Folie 10 Copyright by Limitierungen und Lösungen Problem: Nicht alle Datentypen lassen sich serialisieren Lösung: Einen eigenen Serialisierer schreiben Demo Dictionaries serialisieren

11 VS one Veranstalter: VSone Feb. 08 Folie 11 Copyright by Limitierungen und Lösungen Problem: Zyklische Referenzen lassen sich nicht serialisieren Lösung: Rück-Referenzen nicht mitserialisieren Demo Zyklische Referenzen

12 VS one Veranstalter: VSone Feb. 08 Folie 12 Copyright by Datenobjekte persistieren XML-Serialisierung kann zum Persistieren von Datenobjekten verwendet werden Vorteile: Kein O/R-Mapping erforderlich. Persistierung funktioniert wie man sich das wünscht Keine Systemvoraussetzungen wie Datenbankserver etc. Hohe Performance Offener Datenstandard

13 VS one Veranstalter: VSone Feb. 08 Folie 13 Copyright by Datenobjekte persistieren XML-Serialisierung kann zum Persistieren von Datenobjekten verwendet werden Nachteile: Suche nicht einfach realisierbar Mechanismen wie Locking, Transaktionen, etc. müssen selbst nachgebaut werden Änderungen am Datenmodell ist bei umfangreichen Daten problematisch

14 VS one Veranstalter: VSone Feb. 08 Folie 14 Copyright by Datenobjekte persistieren Mögliches Szenario: Index-Datei erstellen Kann zur Datensatzauswahl verwendet werden, z.B. Tree, Liste etc. Referenz zur Detail-Datei Detail-Dateien bei Bedarf laden Demo Datenpersistierung

15 VS one Veranstalter: VSone Feb. 08 Folie 15 Copyright by Eigene Konfigurationsdateien Szenario Konfiguration der Anwendung soll über Property-Grid bearbeitbar sein Problem Attribute für Property-Grid können nicht auf Standard-Konfiguration angewendet werden Lösung Eigene Konfigurationsklasse die einfach in eine XML-Datei serialisiert wird

16 VS one Veranstalter: VSone Feb. 08 Folie 16 Copyright by Eigene Konfigurationsdateien Mögliches Szenario: Config-Klasse erstellen und mit Attributen versehen Config-Klasse per XML-Serialisierung speichern und wieder laden Config kann auch in der XML-Datei geändert werden. Demo Konfigurationsdatei

17 VS one Veranstalter: VSone Feb. 08 Folie 17 Copyright by Praxiserfahrung XML-Serialisierung eignet sich in bestimmten Fällen sehr gut zur Daten- Persistierung Persistierung in XML-Dateien funktioniert gut und performant, wenn die Struktur passt Als Speicher kann auch eine SQL-Datenbank genutzt werden Verwendung des XML-Datentyps Erlaubt Abfragen auf Elemente und Attribute Bietet O/R-Mapping Funktionalitäten

18 VS one Veranstalter: VSone Feb. 08 Folie 18 Copyright by Praxiserfahrung XML-Serialisierung kann zur effizienten Speicherung von Listen etc. in der Datenbank genutzt werden Statt einer referenzierten Tabelle kann die Liste in einem XML-Feld abgelegt werden, wenn danach nicht selektiert werden soll Demo Listen mit LINQ speichern

19 VS one Veranstalter: VSone Feb. 08 Folie 19 Copyright by Praxiserfahrung Mit Hilfe der XML-Serialisierung kann ein Deep-Clone eines Objektbaums erstellt werden. Weitverzweigte Objekte komplett mit allen Unterstrukturen zu clonen ist nicht trivial Optional kann ein BinarySerializer genutzt werden. Demo Deep-Clone von Objekten

20 VS one Veranstalter: VSone Feb. 08 Folie 20 Copyright by Praxiserfahrung Fazit Vor allem für Konfigurationsdateien ist die XML-Serialisierung eine tolle Sache In bestimmten Fällen kann die Persistierung mit Hilfe der XML-Serialisierung sehr elegant sein Auch sonst lassen sich mit der XML- Serialisierung verschiedene Probleme lösen

21 VS one Veranstalter: VSone Feb. 08 Folie 21 Copyright by Noch Fragen? ? Jetzt ist die Zeit dafür! …oder Frage per an

22 VS one Veranstalter: VSone Feb. 08 Folie 22 Copyright by Sessionvoting Ich freue mich auf Ihr Feedback DANKE!

23 VS one Veranstalter: VSone Feb. 08 Folie 23 Copyright by Wir sehen uns wieder: Juni 2008 Burghausen Oktober 2008


Herunterladen ppt "VS one Veranstalter: VSone 13.-14. Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler"

Ähnliche Präsentationen


Google-Anzeigen