उन कार्यों को स्थानांतरित करते समय आप रेखा को कहां खींचते हैं जो उस डेटा में कक्षा में डेटा पर काम करते हैं? उदाहरण के लिए, कल्पना करें कि आपके पास एक साधारण वर्ग है जो मौसम का विवरण संग्रहीत करता है, तापमान, आर्द्रता, हवा की गति और दिशा के चर, और जिस समय माप लिया गया था। अब कल्पना करें कि आपके पास इस वर्ग का ऑब्जेक्ट है और आप इसे किसी और को ट्रांसमिट करना चाहते हैं - एक और प्रक्रिया, दूसरी मशीन, जो भी हो। क्या आप ऑब्जेक्ट को ऑब्जेक्ट में ट्रांसमिट करने के लिए कोड डालते हैं - उदाहरण के लिए, सरल डेटा क्लास में एक भेजें (गंतव्य-प्रकार) विधि जोड़कर? या आप इस तरह की सुविधा को अलग-अलग वर्गों में रखते हैं जो माध्यम पर कुछ भी भेज और प्राप्त कर सकते हैं - भले ही यह नेटवर्किंग हो, फ़ाइल I/o, इंटरप्रोसेस कॉमम्स, या कुछ भी समान हो?ऑब्जेक्ट्स जो खुद को भेजते हैं - एक अच्छा विचार?
मेरा आंत वृत्ति मेरे डेटा वर्गों को सरल रखना और उन्हें लपेटना है जब मैं उन्हें संचारित करना चाहता हूं - कक्षाओं में जो उन्हें क्रमबद्ध करता है और प्रेषक और रिसीवर कक्षाओं को एक साधारण इंटरफेस के साथ प्रस्तुत करता है। विकल्प सरल डेटा कक्षाओं में रसोई सिंक समेत सबकुछ डालना प्रतीत होता है - हालांकि प्रत्येक कार्य जो उस डेटा पर कभी भी काम कर सकता है, परोक्ष रूप से। संक्षेप में, नेटवर्क त्रुटि हैंडलिंग कोड मुझे एक साधारण डेटा वर्ग में शामिल नहीं लगता है।
यह मेरे लिए स्पष्ट लगता है, लेकिन मैं देख डेवलपर्स डाल उनकी कक्षाओं पर() पद्धतियों भेजें रखने के लिए। वे संदेश कक्षाएं भेजने के लिए भी बताते हैं() स्वयं, जो मेरे लिए अत्यधिक प्रतिद्वंद्वी लगता है; अगर मैं कागज़ के टुकड़े पर एक पत्र लिखता हूं, तो मैं खुद को भेजने के लिए पेपर नहीं बताता। मैं पत्र को एक लिफाफे में लपेटता हूं और इसे डाकिया को सौंपता हूं, क्योंकि उसके पास एक वैन और नक्शा है। लोग क्या सोचते हैं?
आपको किसी संबंधित प्रश्न में रुचि हो सकती है: [क्या कक्षा में स्वयं के कार्यों को करने के लिए यह अच्छा सम्मेलन है?] (Http://stackoverflow.com/q/3105692/240733) – stakx
उत्तर देने वाले सभी लोगों के लिए धन्यवाद - यह एसओ पर मेरा पहला सवाल था, और यह एक बहुत ही सकारात्मक अनुभव रहा है। – bythescruff