2008-11-10 5 views
7

मैंने कई बार पढ़ा है और कोड ऑर्थोगोनल रखने के लिए ग्लोबल्स के उपयोग से परहेज करने से सहमत हूं। क्या कॉन्फ़िगरेशन फ़ाइल का उपयोग केवल उस जानकारी को पढ़ने के लिए करता है जो आपका प्रोग्राम ग्लोबल्स का उपयोग करने के समान होता है?कॉन्फ़िगरेशन फ़ाइल का उपयोग यह ग्लोबल्स के उपयोग के बराबर है?

उत्तर

3

यदि आप ग्लोबल्स के स्थान पर कॉन्फ़िगरेशन फ़ाइलों का उपयोग कर रहे हैं, तो हाँ, वे समान हैं।

कॉन्फ़िगरेशन फ़ाइलों का केवल उन मामलों में उपयोग किया जाना चाहिए जहां अंतिम उपयोगकर्ता (संभावित रूप से एक कंप्यूटर-समझदार उपयोगकर्ता, डेवलपर की तरह) को किसी एप्लिकेशन या कोड के टुकड़े के लिए सेटिंग घोषित करने की आवश्यकता होती है, जबकि कोड को हाथ से बाहर रखते हुए ।

+0

मुझे इस जवाब के पहले भाग के लिए ध्वनि स्निपी के लिए मतलब नहीं था। जिस बिंदु को मैं बनाने की कोशिश कर रहा था वह है कि कॉन्फ़िगरेशन फ़ाइलें ग्लोबल्स को रोकने के लिए एक कार्य-आसपास नहीं हैं। –

3

मेरी पहली प्रतिक्रिया यह होगी कि यह वही नहीं है। मुझे लगता है कि ग्लोबल्स के साथ समस्या पढ़ने + लिखने का परिदृश्य है। कॉन्फ़िगर-फ़ाइलें केवल पढ़ने योग्य हैं (कम से कम निष्पादन के मामले में)। उसी तरह स्थिरांक को खराब प्रोग्रामिंग व्यवहार नहीं माना जाता है। कॉन्फ़िगर-फ़ाइलें, कम से कम जिस तरह से मैं उनका उपयोग करता हूं, बस आसान परिवर्तनीय स्थिरांक हैं।

0

कॉन्फ़िगरेशन फ़ाइलों को वास्तव में अंतिम उपयोगकर्ता द्वारा प्रोग्राम को चलाने के तरीके के रूप में आसानी से संपादन करने के लिए उपयोग किया जाता है।

कॉन्फ़िगरेशन फ़ाइलों का एक और विशेष रूप, उपयोगकर्ता वरीयताओं का उपयोग प्रोग्राम निष्पादन के बीच चीजों को याद रखने के लिए किया जाता है।

0

ग्लोबल किसी ऑब्जेक्ट के लिए एक अद्वितीय उदाहरण से संबंधित है जो कभी नहीं बदलेगा, जबकि कॉन्फ़िगरेशन फ़ाइल को संदर्भ मानों के लिए कंटेनर के रूप में उपयोग किया जाता है, जो एप्लिकेशन के भीतर ऑब्जेक्ट्स के लिए बदल सकता है।

रनटाइम के दौरान एक "वैश्विक" ऑब्जेक्ट कभी नहीं बदलेगा, अन्य ऑब्जेक्ट कॉन्फ़िगरेशन फ़ाइल के माध्यम से प्रारंभ होता है, लेकिन बाद में बदल सकता है।

असल में, वे ऑब्जेक्ट न केवल एप्लिकेशन के जीवनकाल के दौरान बदल सकते हैं, वे "हॉट-चेंज" (एप्लिकेशन को रोकने/पुनरारंभ किए बिना उनके मूल्य में संशोधन) को समझने के लिए कॉन्फ़िगरेशन फ़ाइल की निगरानी भी कर सकते हैं, यदि वह कॉन्फ़िगरेशन फ़ाइल संशोधित है।

3

ठीक है, क्योंकि एक कॉन्फ़िगरेशन फ़ाइल और वैश्विक चर दोनों के पास सिस्टम में परिवर्तनों का प्रचार करने का प्रभाव हो सकता है - वे लगभग समान हैं।

लेकिन ... कॉन्फ़िगरेशन फ़ाइल के मामले में आमतौर पर एक एकल, अत्यधिक दिखाई देने वाले (डेवलपर) स्थान पर होने जा रहा है, और वैश्विक चर बहुत ही चुस्त और ट्रैक करने में कठोर परिवर्तन को प्रभावित कर सकते हैं नीचे के तरीके - इस तरह से दो अवधारणाएं समान नहीं हैं।

कॉन्फ़िगरेशन फ़ाइल होने से DRY concepts के साथ उपयोग में मदद मिलती है, और इसे सिस्टम के orthogonality को चोट पहुंचाना नहीं चाहिए।

$ 25 शब्द 'ऑर्थोगोनल' का उपयोग करने के लिए बोनस अंक। गैर-युक्लिडियन परिभाषा को जानने के लिए मुझे विकिपीडिया में इसे देखना था।

+0

हां, व्यावहारिक प्रोग्रामर पढ़ना और ग्लोबल्स का विषय decoupling के बाद पेश किया गया है। कॉन्फ़िगरेशन फ़ाइलों का विचार दिमाग में आया और बुराई का स्तर निर्धारित करना चाहता था। – osp70

0

वे बिल्कुल एक दूसरे के लिए समान या प्रतिस्थापन नहीं हैं। एक कॉन्फ़िगरेशन फ़ाइल, या ऑब्जेक्ट का उपयोग गैर-वैश्विक रूप से किया जा सकता है, यानी स्पष्ट रूप से पारित किया जा सकता है।

आप निश्चित रूप से एक वैश्विक चर है जो एक कॉन्फ़िगरेशन ऑब्जेक्ट को संदर्भित करता है, और यह उद्देश्य को हरा देगा।

संबंधित मुद्दे