2010-10-18 11 views
8

मैं एक स्विंग आधारित एप्लिकेशन विकसित कर रहा हूं जहां मैं कई फाइलडिअलॉग का उपयोग कर रहा हूं? तो मैं कहता हूं कि इन सभी उदाहरणों के बजाय केवल एक फ़ाइलडिअलॉग ऑब्जेक्ट नहीं बनाना और पूरी परियोजना में इसका उपयोग क्यों करें? क्या यह एक अच्छी धारणा है? क्या इसमें कोई प्रदर्शन सुधार है?क्या मुझे फ़ाइल संवाद को सिंगलटन के रूप में कार्यान्वित करना चाहिए?

धन्यवाद

उत्तर

8

यह एक उपयोग मामले का एक बड़ा उदाहरण है जहां आवेदन प्रदर्शन वास्तव में कोई फर्क नहीं पड़ता और प्रश्न वास्तव में समस्या निवारण के समयपूर्व अनुकूलन वर्ग में आता है। क्यूं कर? FileDialog का उपयोग करना मतलब है कि आप उपयोगकर्ता के साथ बातचीत कर रहे हैं, भले ही शॉर्टकट कुंजी कुंग फू के साथ कुशल से परे कुशल, आवेदन की तुलना में तीव्रता के कई आदेश होंगे। एक फ़ाइल में कितने FileDialogs खुले, उपयोग और बंद हो सकते हैं? एक दर्जन कहो। आपको एक दर्जन वस्तुओं की देखभाल करने और एक मिनट में जाने की आवश्यकता नहीं है। अपने रडार पर भी दिखाई नहीं देना चाहिए। कहीं और अपनी ऊर्जा का प्रयोग करें। वास्तव में, आपको हर बार एक नई वस्तु बनाना चाहिए और किसी भी कैशिंग सिरदर्द से बचें।

+0

+1 समय से पहले अनुकूलन के साथ बहुत अच्छी तरह से कहा और मजबूत बिंदु। – chiccodoro

3

मैं एक स्थिर FileDialog वर्ग कि FileDialog की हर बार एक नया एक नहीं बल्कि आवेदन भर में एक सिंगलटन उदाहरण साझा करने के बजाय खुला जरूरत है एक नया उदाहरण उत्पन्न होगा।

इससे आपको पता लगाने की कोशिश करने का सिरदर्द बचाएगा कि क्या आप संवाद बॉक्स से सही पथ पढ़ रहे हैं या किसी ने संवाद खोला है और एक नया रास्ता चुना है और अब आप उस नए पथ का संदर्भ दे रहे हैं मूल रूप से चयनित पथ, आदि से ...

1

क्यों कार्यान्वयन सिंगलटन के रूप में है? क्या आप वास्तव में सत्यापित कर सकते हैं कि दो फ़ाइल संवाद प्रदर्शित नहीं होंगे?

इसे नियमित कक्षा के रूप में बेहतर रखना; आप उन सीमाओं में निर्माण नहीं करना चाहते हैं जो बाद में दर्द बिंदु बन सकते हैं।

ऐसा नहीं है कि आपके आवेदन को फ़ाइल संवाद में लाखों कॉलों द्वारा गंभीर रूप से अधिभारित किया जा रहा है, और कौन जानता है, शायद किसी दिन दो फाइल संवाद होने का सही समाधान होगा। भले ही आप उन्हें एक ही समय में प्रदर्शित न करें, शायद "स्रोत" संवाद में इतिहास धारण करना और "गंतव्य" संवाद में एक अलग इतिहास होना फ़ाइल स्थानांतरण कार्यक्रम में एक आशीर्वाद होगा।

0

प्रदर्शन/गतिशीलता को भूलें। इससे कोई फर्क नहीं पड़ता। अर्थशास्त्र पदार्थ। एक ही फ़ाइल संवाद का पुन: उपयोग करने से आप चीजों को मुफ्त में दे सकते हैं। क्या संवाद हर बार एक ही निर्देशिका में शुरू होगा? अगर यह वही उदाहरण होगा। यदि आप नए संवाद बना रहे हैं तो आपको स्टार्टअप को अपने आप को सेट करना होगा।

इसके अलावा एक से अधिक उदाहरण बनाना असंभव क्यों बनाते हैं? बस अपने फ्रेम में एक इंस्टेंस सदस्य बनाएं और इसके साथ किया जाए।

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

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