.NET में कुछ चीजें "फॉर्मेटर्स" कहलाती हैं - BinaryFormatter
, SoapFormatter
।"फॉर्मेटर" और "सीरिएलाइज़र" - शर्तों के बीच कोई अंतर?
अन्य को "धारावाहिक" कहा जाता है - XmlSerializer
, DataContractSerializer
।
अंतर क्यों?
.NET में कुछ चीजें "फॉर्मेटर्स" कहलाती हैं - BinaryFormatter
, SoapFormatter
।"फॉर्मेटर" और "सीरिएलाइज़र" - शर्तों के बीच कोई अंतर?
अन्य को "धारावाहिक" कहा जाता है - XmlSerializer
, DataContractSerializer
।
अंतर क्यों?
थोड़ा कमजोर, लेकिन एक सूक्ष्म अंतर है। .NET फ्रेमवर्क में 17 ठोस वर्ग हैं जो XML को प्रारूपित करते हैं। ये स्वरूपक सभी छिपे हुए हैं, आप उन्हें XmlWriter.Create() जैसी विधि के साथ एक उदाहरण प्राप्त करते हैं। DataContractSerializer के लिए वही, वास्तविक स्वरूपण एक XmlDictionaryWriter उदाहरण कहकर किया जाता है।
बाइनरीफॉर्मेटर या साबैफोर्मेटर के लिए ऐसा कोई संकेत नहीं, वे स्वयं स्वरूपण का ख्याल रखते हैं। दूसरे शब्दों में, एक फॉर्मेटर प्रारूप, एक सीरिएलाइज़र एक फॉर्मेटर का उपयोग करता है।
नहीं, वे समानार्थी हैं। वे वही करते हैं: सीएलआर ऑब्जेक्ट को बाइट्स के हस्तांतरणीय अनुक्रम में परिवर्तित करें।
एंड्री: अच्छा - छोटा और मीठा ... :) +1 – t0mm13b
formatters में मतभेद है महत्वपूर्ण - BinaryFormatter के रूप में यह पता चलता है, डेटा देशी बाइनरी फैशन में हैं, जबकि SoapFormatter Xml पाठ फैशन में है, अलग अलग तरीकों से फेंक की serializing वास्तव में है फॉर्मेटर्स के प्रकार पर निर्भर, बाइनरीफॉर्मेटर का उपयोग करके बाइनरी डेटा साबुन स्वरूपकों की तुलना में बहुत छोटा और तेज़ होता है।
यह यदि आप एक "स्मृति डम्प" ले जाना चाहते हैं यह डेटा अंतर विभिन्न आर्किटेक्चर के बीच की कीमत पर BinaryFormatter उपयोग करने के लिए और क्रमानुसार/दूर deserialize, बेहतर है, कि कारण के लिए है - जिसका अर्थ यह संगत नहीं हो सकता है यदि विभिन्न प्लेटफार्मों लेकिन तेजी से संसाधन के बीच डाटा ... SoapFormatter साथ जबकि
का आदान प्रदान यह इस तरह द्विआधारी असंगतियां से सुरक्षित है के रूप में यह या तो यूनिकोड या ASCII पर आधारित पाठ है, लेकिन बहुत धीमी!
अच्छा जवाब, लेकिन वास्तव में सवाल का जवाब नहीं ... – Kendrick
@ केंड्रिक - ठीक है ... धन्यवाद ... ठीक है जब ओपी ने पूछा ' अंतर क्यों? मैंने सोचा था कि ओपी एंड्रॉ द्वारा 'नो, वे समानार्थक' के बजाय खोज रहे हैं, किस तरह के विरोधाभास 'वे वही करते हैं' जब वास्तव में समानार्थी की परिभाषा होती है 'समानार्थी शब्द समान या समान होते हैं मतलब 'जरूरी नहीं है! :) – t0mm13b
नहीं, केंड्रिक सही है - मुझे कार्यक्षमता में अंतर पता है। मैं जो पूछ रहा हूं वह नामकरण में असंगतता है। हालांकि धन्यवाद। –
दिलचस्प। एक्सएमएल प्रारूपित करने वाले 17 वर्गों के बारे में मैं कहां पढ़ सकता हूं? –
वे दस्तावेज नहीं हैं। लेकिन आप उन्हें परावर्तक के साथ देख सकते हैं। –