मैं ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) के साथ शुरू कर रहा हूं और जानना चाहूंगा: ओओपी पार्लेंस में क्रमांकन का अर्थ क्या है?
मैं ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (ओओपी) के साथ शुरू कर रहा हूं और जानना चाहूंगा: ओओपी पार्लेंस में क्रमांकन का अर्थ क्या है?
जवाबों:
सीरियलाइज़ेशन एक ऑब्जेक्ट को बाइट्स की एक स्ट्रीम में मेमोरी में बदलने की प्रक्रिया है, ताकि आप इसे डिस्क पर स्टोर करने या नेटवर्क पर भेजने की तरह सामान कर सकें।
Deserialization रिवर्स प्रक्रिया है: बाइट्स की एक धारा को स्मृति में एक वस्तु में बदलना।
Marshal
और Unmarshal
पर्याय बन गया है Serialize
और Deserialize
।
abc
को 0x61 0x62 0x63
(ASCII) या 0x00 0x61 0x00 0x62 0x00 0x63
(UTF16) के रूप में क्रमांकित किया जाएगा - NUL टर्मिनेटर या एन्कोडेड लंबाई जैसी चीजों के साथ या बिना।
केवल सरलीकरण बोलना एक वस्तु को बाइट्स की धारा में परिवर्तित करने की एक प्रक्रिया है ताकि इसे एक नेटवर्क पर स्थानांतरित किया जा सके या एक स्थिर भंडारण में संग्रहीत किया जा सके।
Deserialization सटीक विपरीत है - नेटवर्क या हठ भंडारण से बाइट्स की एक धारा प्राप्त करें और इसे उसी राज्य के साथ ऑब्जेक्ट में वापस कनवर्ट करें ।
समझने वाली बात यह है कि बाइट्स की उन धाराओं की व्याख्या कैसे की जाती है या उनमें हेरफेर किया जाता है ताकि हमें ठीक वैसी ही वस्तु / समान स्थिति मिल जाए। इसे प्राप्त करने के विभिन्न तरीके हैं। उनमें से कुछ हैं -
Serializable interface
रूप से लागू कर सकते हैं और इसे ऑब्जेक्ट स्ट्रीम में लिख सकते हैं।JSON
स्क्रैच के बारे में जानने के लिए एक लिंक भी प्रदान कर सकते हैं , क्योंकि मुझे इसके बारे में कुछ भी पता नहीं है
मान लीजिए मैं अपने दोस्त से फोन पर बात कर रहा हूं और मैं उसे अपने नए पिल्ला के बारे में बता रहा हूं।
यहाँ मेरी समस्या है: पिल्ला एक जीवित, सांस लेने वाला स्तनपायी है। मुझे फोन लाइन पर एक पिल्ला कैसे व्यक्त करना है? मैं शारीरिक रूप से अपने फोन रिसीवर में अपना पिल्ला नहीं डाल सकता।
इसलिए इसके बजाय, मुझे फोन पर पिल्ला का प्रतिनिधित्व करना होगा। दूसरे शब्दों में, मैं अपने कुत्ते रेक्स को क्रमबद्ध करता हूं, और मैं उसे फोन लाइन पर रेक्स का क्रमबद्ध संस्करण भेजता हूं:
{ "name":"Rex", "age":5, "favourite_food": pedigree_choice_cuts, "favourite_game": fetch_ball, "favourite_hobby": wagging_tail }
यह एक आदर्श प्रतिनिधित्व है - मेरे कुत्ते का एक क्रमांकन।
सीरियललाइज़ेशन का मूल अर्थ है मेरे कुत्ते रेक्स को किसी और चीज़ में बदलना - एक JSON ऑब्जेक्ट - जिसे फिर 1s और 0s की श्रृंखला के रूप में फोन लाइन पर ले जाया जा सकता है। NYC में मेरा दोस्त तब उन 1s और 0s का वापस JSON ऑब्जेक्ट में अनुवाद कर सकता है - ताकि उसके पास मेरे कुत्ते xx का सही प्रतिनिधित्व हो।
इसे देखें, इससे आपको अच्छी समझ मिलेगी:
http://en.wikipedia.org/wiki/Serialization
मुझे लगता है कि सीरियलाइज़ेशन शब्द का सबसे आम उपयोग बाइनरी ऑब्जेक्ट को एक्सएमएल (या अन्य स्ट्रिंग) प्रतिनिधित्व में बदलने के साथ करना है ताकि इसे डेटाबेस / फ़ाइल में संग्रहीत किया जा सके या एक वेब सेवा कॉल में एक नेटवर्क पर भेजा जा सके। Deserialization एक रिवर्स प्रक्रिया है - किसी XML / string को वापस ऑब्जेक्ट में बदलना।
संपादित करें: आपके पास एक और शब्द हो सकता है मार्शलिंग / अनमर्सहॉलिंग। मार्शलिंग मूल रूप से क्रमबद्धता के रूप में एक ही अवधारणा है, और अनस्मर्शलिंग डेसरियलाइजिंग के समान है।
सीरियलाइज़ेशन ऑब्जेक्ट को स्टोर करने या मेमोरी, डेटाबेस, या फ़ाइल में संचारित करने के लिए किसी वस्तु को बाइट्स की धारा में परिवर्तित करने की प्रक्रिया है । इसका मुख्य उद्देश्य किसी वस्तु की स्थिति को बचाने के लिए है ताकि जरूरत पड़ने पर उसे फिर से बनाया जा सके। रिवर्स प्रोसेस को डीसराइलाइजेशन कहा जाता है।
...
यह चित्रण क्रमबद्धता की समग्र प्रक्रिया को दर्शाता है
...
क्रमांकन के माध्यम से, एक डेवलपर वेब सेवा के माध्यम से दूरस्थ अनुप्रयोग में ऑब्जेक्ट भेजने, ऑब्जेक्ट को एक डोमेन से दूसरे डोमेन पर भेजने, फ़ायरवॉल के माध्यम से XML स्ट्रिंग के रूप में, या सुरक्षा या उपयोगकर्ता-विशिष्ट बनाए रखने जैसी क्रियाएं कर सकता है। अनुप्रयोगों में जानकारी
से https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/serialization/
(जोर मेरा)
सीरियलाइजेशन टोकन की एक श्रृंखला में अनऑर्डर किए गए डेटा (जैसे एक ऑब्जेक्ट) को परिवर्तित करने की प्रक्रिया है जिसका उपयोग बाद में मूल डेटा को फिर से संगठित करने के लिए किया जा सकता है। क्रमबद्ध रूप सबसे अधिक बार पाठ का एक स्ट्रिंग है, लेकिन होना नहीं है।
क्रमांकन एक वस्तु को बिट बिट अनुक्रम में परिवर्तित कर रहा है।
इसलिए आप इस अनुक्रम को किसी फ़ाइल, db या नेटवर्क पर भेज सकते हैं।
बाद में आप इसे वास्तविक वस्तु से अलग कर सकते हैं और इसे जब चाहें उपयोग कर सकते हैं।
वेब सेवाएँ और AJAX क्रमांकन का सबसे सामान्य उदाहरण है। क्लाइंट को प्रतिक्रिया भेजने से पहले वस्तुओं को क्रमबद्ध किया गया।
सीरियलाइजेशन और कुछ नहीं बल्कि समर्थित फॉर्म फाइल करने के लिए जावा सपोर्टेड ऑब्जेक्ट को ट्रांसफर करना है
(OR)
परिवर्तित जावा समर्थित फॉर्म को नेटवर्क समर्थित फॉर्म में..सीरियलाइजेशन का मुख्य स्कोप कुछ भी नहीं है, बल्कि डेटा को एक लेयर से दूसरी लेयर में ट्रांसफर करना है ... केवल सीरियल किए गए ऑब्जेक्ट्स जो हम नेटवर्क पर भेज सकते हैं ..
सीरियलाइज़ेशन एक जावा, सी # या किसी अन्य (ओओपी भाषा) समर्थित ऑब्जेक्ट को एक परिवहनीय रूप में परिवर्तित करने की प्रक्रिया है। इस तरह इसे नेटवर्क पर ले जाया जाता है या डिस्क पर संग्रहीत किया जाता है। श्रेणीबद्ध होने के लिए, इसे क्रमबद्ध इंटरफ़ेस लागू करना होगा।
सीरियलाइज़ेशन डेटा को बाइट्स के रैखिक "स्ट्रिंग" में बदल रहा है।
अन्य लोगों ने भी कमोबेश यही बात कही है, लेकिन मैं इस बात पर जोर देता हूं कि कंप्यूटर मॉडल के लिए जरूरी है कि डेटा एक-डिमेसिवली रैम या सस्टेनेबल स्टोरेज में फिट हो।
ज्यादातर चीजें जो "डेटा" हैं वे स्वाभाविक रूप से क्रमबद्ध हैं (भले ही आपको सार मॉडल को रैखिक एक को कम करना होगा); नहीं कहा जा सकता है कि एक नेटवर्क कनेक्शन या एक जटिल स्थिति-आधारित मशीन जैसे पार्सर।
धारावाहिकीकरण को एक बाइनरी ऑब्जेक्ट को एक्सएमएल (या अन्य स्ट्रिंग) प्रतिनिधित्व में बदलने के साथ करना है ताकि इसे डेटाबेस / फ़ाइल में संग्रहीत किया जा सके या एक वेब सेवा कॉल में नेटवर्क पर भेजा जा सके। Deserialization एक रिवर्स प्रक्रिया है - किसी XML / string को वापस ऑब्जेक्ट में बदलना।
जब किसी वर्ग (खाका) से वास्तविक वस्तु (चीज़) को तात्कालिक (निर्माण) किया जाता है, तो स्मृति में एक स्थान पर इसे क्रमबद्ध करके (इसे इसकी मूल परमाणु संरचना को तोड़कर) वस्तु (चीज़) को बचाने की आवश्यकता होती है। (स्टार ट्रेक ट्रांसपोर्टर की तरह की)। आप उस चीज़ को जानकारी की उस धारा में तोड़ देते हैं, जिसे कहीं और ले जाया जा सकता है। फिर जब आप उस चीज़ को फिर से बनाना चाहते हैं जिसे आप वस्तु में संग्रहीत परमाणु उदाहरण को वापस खींचते हैं। अस्थिरता से अलग।
सीरियलाइज़ेशन एक वस्तु को बाइनरी डेटा स्ट्रीम में परिवर्तित करने की प्रक्रिया है ताकि इसे एक फ़ाइल में संग्रहीत किया जा सके या एक नेटवर्क में भेजा जा सके जहां इसे फिर से उसी ऑब्जेक्ट पर पुनर्जीवित किया जा सके।
इस दस्तावेज़ को आपको जावा क्रमांकन को विस्तार से समझने में मदद करनी चाहिए।
सीरियलाइज़ेशन तब होता है जब ऑब्जेक्ट (मेमोरी का एक हिस्सा) का एक रूप में अनुवाद किया जाता है जब ऑब्जेक्ट की स्थिति को फ़ाइल में (उदाहरण के रूप में) बचाया जा सकता है।
बस इसे कुकीज़ बनाने के रूप में समझो - वस्तु एक आटा है, कुकी - एक क्रमबद्ध आटा है।
तो "क्रमबद्ध" करके आप अपने दोस्त को कुकी भेज सकते हैं।
ऐसा कुछ :-)