2009-08-10 6 views
6

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

यदि मैं डिफ़ॉल्ट दायरे से चिपकता हूं, तो प्रत्येक प्लगइन प्रकार के प्रत्येक डिफ़ॉल्ट उदाहरण प्रभावी रूप से प्रत्येक अनुरोध (वेब ​​ऐप मानते हुए) पर तत्काल प्राप्त हो जाएगा, क्या यह सही है? क्या यह प्रदर्शन को ध्यान से प्रभावित कर सकता है?

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

यदि आप स्ट्रक्चर मैप का उपयोग करते हैं, तो आप आमतौर पर अपने प्रत्येक प्लगइन प्रकार के लिए स्कोप कैसे कॉन्फ़िगर करते हैं?

किसी भी जानकारी के लिए धन्यवाद,

फिल

उत्तर

7

मैं जगह में डिफ़ॉल्ट गुंजाइश छोड़ दें। इसका मतलब है कि हर एक अनुरोध (या तो प्रत्येक उपयोगकर्ता द्वारा या कई उपयोगकर्ताओं द्वारा) मेरे पास एक वस्तु का एक उदाहरण है। इसका मतलब है कि हर बार एक नया अनुरोध किया जाता है। इसे सत्र में रखना कुछ ऐसा है जो मैं अधिक विशिष्ट नियंत्रण रखना पसंद करता हूं। इस कारण से मैं सेवा परत पर एक कैशिंग परत फेंक सकता हूं और स्ट्रक्चर मैप को ऑब्जेक्ट लौटा सकता हूं। इसके बाद मैं पहले से ही तत्काल (अब धारावाहिक) ऑब्जेक्ट के लिए कैश से पूछताछ कर सकता हूं और यह चुन सकता हूं कि मेरी ऑब्जेक्ट्स कहां से प्राप्त करें।

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

+0

आपकी विचारशील प्रतिक्रिया के लिए धन्यवाद। सिंगलेट्स पर आपका लेना दिलचस्प है, और मैं इसे भी ध्यान में रखूंगा। –