Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

XML Serialization - Όλα public ή custom serialization

Îåêßíçóå áðü ôï ìÝëïò Dimitris Papadimitriou. Τελευταία δημοσίευση από το μέλος Dimitris Papadimitriou στις 10-11-2006, 18:54. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-11-2006, 16:40 20109

    XML Serialization - Όλα public ή custom serialization

    Είπα να κάνω μια προσπάθεια να κάνω serialize (στα ελληνικά πως λέγεται; ). Κατέληξα ότι αν δεν κάνεις custom serialization (implement της IXMLSerializable) πρέπει να properties σου να είναι public get/set. Αν είναι readonly (μόνο get) τότε ο serializer τα αγνοεί. Λογικό μέχρι ένα σημείο, μια που δεν θα είναι δυνατό το deserialization.
    Το θέμα είναι ότι δεν θέλω να κάνω όλα τα properties στις κλάσεις μου public get/set. Έτσι θα κατέστρεφα όλο το business logic! Οπότε;
    Custom serialization παντού; Δεν είναι μαυρίλα αυτό!;
    Μήπως υπάρχει άλλη λύση και δεν το ξέρω;

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  09-11-2006, 19:04 20119 σε απάντηση της 20109

    Απ: XML Serialization - Όλα public ή custom serialization

    Το έχω αντιμετωπίσει κι εγώ αυτό το πρόβλημα στο παρελθόν. Για κάποια θέματα μπορείς να παίξεις με τα serialization attributes, αλλά δεν βοηθάει στη περίπτωσή σου. Τελικά, και κατόπιν αρκετής έρευνας είδα ότι σε τέτοιες περιπτώσεις φτιάχνονται DTOs (Data Transfer Objects), τα αντίστοιχα δηλαδή "beans".

    Αυτό έχει το overhead ότι τηρείς δύο κατηγορίες αντικειμένων, τουλάχιστον όσον αφορά τα properties, αλλά εκτός του ότι σου λύνει το πρόβλημα, έχει και ένα ακόμα καλό. Αν χρειαστεί να προσθέσεις ένα property στο business object σου, τότε αυτό αυτομάτως θα γινόταν serialize και κατά συνέπεια θα άλλαζε το WSDL του Web Service σου (αν βέβαια τελικώς θες το serialization για Web Service). Έτσι θα έκανες break τους υπάρχοντες client. Έχοντας το DTO, δεν τίθεται τέτοιο θέμα...
    Στερνή μου γνώση να σε είχα πρώτα...
  •  09-11-2006, 19:34 20121 σε απάντηση της 20119

    Απ: XML Serialization - Όλα public ή custom serialization

    Δύσκολα τα πράγματα λοιπόν!

    Βέβαια ίσως τελικά να το κάνω ήδη. Παιρνάω μέσω του web service ένα dataset που έχει τα δεδομένα σε σχεσιακή μορφή και δημιουργώ το αντικείμενό μου στην άλλη πλευρά. Βέβαια DTO μου (dataset) δεν είναι ακριβές αντίγραφο του αντικειμένου μου, αλλά μάλλον ένα αντίγραφό του σε σχεσιακή μορφή.

    Δεν είναι όμως και η καλύτερη λύση, γιατί ο client πρέπει να έχει το business logic για να το ξαναδημιουργήσει.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  10-11-2006, 18:22 20171 σε απάντηση της 20109

    Απ: XML Serialization - Όλα public ή custom serialization

    το binary Serialization και το SOAP νομίζω ότι κάνει serialize non public members.
    γροικάσε μπάρμπα τ' αρνάκια!!
  •  10-11-2006, 18:54 20175 σε απάντηση της 20171

    Απ: XML Serialization - Όλα public ή custom serialization

    Το binary δεν με ενθουσιάζει. Αλλά το SOAP το είχα ξεχάσει. Θα το δοκιμάσω!
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems