2010-02-08 15 views
5

मैं ओपनजीएल के साथ एक सरल सिमुलेशन विकसित कर रहा हूं और इस सिमुलेशन में कुछ ग्लोबल स्थिरांक हैं जो सिमुलेशन निष्पादन के दौरान उपयोगकर्ता द्वारा बदल दिए जाते हैं। मैं जानना चाहूंगा कि सिंगलटन डिज़ाइन पैटर्न अस्थायी, निष्पादन समय, "कॉन्फ़िगरेशन रिपोजिटरी"ग्लोबल एप्लिकेशन पैरामीटर स्टोर करने के लिए सिंगलटन का उपयोग

उत्तर

4

यदि आपको इन सेटिंग्स को वास्तव में "वैश्विक" रखने की आवश्यकता है तो सिंगलटन शायद सबसे अच्छा विकल्प है।

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

अक्सर, वैश्विक स्थिति से बचने की कोशिश करना एक बेहतर, दीर्घकालिक दृष्टिकोण है।

1

मुझे लगता है कि अतीत में मैंने इस उद्देश्य के लिए नामस्थान का उपयोग किया है, सिंगलटन कक्षा नहीं, लेकिन यह भी काम करना चाहिए (शायद बेहतर भी)।

बेशक, यदि आप बिना किसी संकलन के कॉन्फ़िगरेशन को बदलने में सक्षम होना चाहते हैं, तो आप सबकुछ एक अलग गुण फ़ाइल (या एक्सएमएल या वाईएएमएल या सीएसवी या जो भी आप पसंद करते हैं) में ले जाना चाहते हैं और फिर इसे एप्लिकेशन स्टार्ट पर लोड करना चाहते हैं अप। फिर आपको हैशपैप (या ऐसा कुछ) में सभी मानों को स्टोर करने के लिए "कॉन्फ़िगरेशन" कक्षा की आवश्यकता होगी।

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