2008-10-12 22 views
14

वीबी.नेट में "मेरा" नामस्थान है, लेकिन वास्तव में कितने वीबी.नेट डेवलपर्स इसका उपयोग करते हैं?क्या आप वीबी.नेट में 'मेरा' नेमस्पेस का उपयोग करते हैं?

  • यदि आप नहीं करते हैं, क्यों?
  • यदि आप इसका उपयोग कर रहे हैं, तो क्यों?

मैं वीबीएनईटी के लिए एक ढांचा बनाने पर विचार कर रहा हूं, और वीबी में प्लग करने के लिए माई नेमस्पेस का उपयोग करके एक उचित विचार की तरह लगता है। क्या यह?

+1

आप इसे सी # से भी उपयोग कर सकते हैं, हालांकि कई सी # देव इसका उपयोग नहीं करते हैं। –

+0

यहां रुचि रखने वालों के लिए लिंक है: http://msdn.microsoft.com/en-us/library/ms173136.aspx –

उत्तर

12

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

इसके बजाय, आपको इसे सामान्य ढांचे के रूप में डिजाइन करना चाहिए। जब आप समाप्त कर लें, तो कुछ सामान्य कार्यों की एक सूची बनाएं जो लोग आपके ढांचे का उपयोग करना चाहें। देखें कि उनमें से कोई भी मेरे अधीन होने के लिए उपयोगी हो सकता है, खासकर जहां कक्षाएं या विधियां हैं जिनका उपयोग कई तरीकों से किया जा सकता है, लेकिन उनके पास एक या दो वास्तव में सामान्य उपयोग हैं जिन्हें माई के साथ संक्षिप्त किया जा सकता है।

इस लेख से पता चलता मेरे विस्तार करने के लिए कैसे, और यह अंत में एक खंड है कि कुछ ही डिज़ाइन दिशानिर्देशों का वर्णन करता है का पालन किया है: Simplify Common Tasks by Customizing the My Namespace

अपने मुख्य प्रश्न के रूप में, जब वीबी .NET में कोडिंग, मैं का उपयोग मेरे जितने बार मैं कार सकूँगा। यह कोड की एक पंक्ति में कई संचालन को कम करता है।

2

मैं मुख्य रूप से सी # और बू का उपयोग, लेकिन जब मैं VB.NET का उपयोग करते हैं मैं अक्सर मेरे नाम स्थान का उपयोग करें। मुझे कोडिंग को सरल बनाने के लिए कोई कारण नहीं दिखता है। यह अभी भी इसकी पठनीयता को बरकरार रखता है।

1

मैं केवल एक उपयोगकर्ता के नजरिए से यह उपयोग किया है, मैं इस पर कुछ भी खामियों को दूर नहीं किया है। मैं माई नेमस्पेस को कुछ बेहद विश्वसनीय, मंच-प्रदान, वैश्विक सहायक तंत्र मानता हूं। आधिकारिक तौर पर स्वीकृत शॉर्टकट, वास्तव में। मैं वहां बाहरी उपयोगकर्ता या तीसरे पक्ष के कोड को देखकर आश्चर्यचकित हो सकता हूं।

इस तरह के रूप में, मैं मौजूदा मेरे नाम स्थान के लिए पर latching के बजाय अपने स्वयं के उचित रूप से नाम नाम स्थान को परिभाषित करने के लिए एक vb ढांचे की सलाह देते हैं। इस तरह के ढांचे में "ग्लोबल" महसूस नहीं होना चाहिए।

8

मैं वास्तव में VB.NET में "मेरा" नाम स्थान और मैं हमेशा यह बहुत सहज ज्ञान युक्त है, क्योंकि, मेरे WindowsForms अनुप्रयोगों में उपयोग की तरह।

  • My.Computer:

    मैं मुख्य रूप से इन श्रेणियों का उपयोग संस्करण संख्या, वर्तमान निर्देशिका

  • My.Resources: मुख्य रूप से फाइल सिस्टम और नेटवर्क प्रयोजनों
  • My.Application के लिए संसाधनों तक पहुंच का इस्तेमाल किया संसाधन फ़ाइलों में दृढ़ता से टाइप किए गए तरीके से रहने वाले एप्लिकेशन द्वारा।
  • My.Settings: बहुत आसान

मुझे लगता है कि, यदि आपका ढांचे के मेरे लिए अपने एक्सटेंशन में अच्छी तरह से फिट है, तो कई VB.NET प्रोग्रामर उन्हें सराहना करेंगे।

1

कभी यह अब तक का इस्तेमाल किया है, हालांकि मैं कभी नहीं वास्तव में या तो इसे देखा है।

मैं अपने नामस्थान में कुछ भी डालने की सलाह नहीं दूंगा, यह उतना ही स्पष्ट होगा जितना कि यह एक गैर-वीबी ढांचा था।

5

हम कुछ कोड में इसका इस्तेमाल करते हैं, लेकिन हिचकिचाते हुए तो। यह सच है कि My अक्सर कोड को और अधिक पठनीय बनाने में मदद करता है। उदाहरण के लिए, Environment.SpecialFolder गणना उत्सुकता से Temp सदस्य की कमी है, जबकि My.Computer.FileSystem.SpecialDirectories में एक (Path.GetTempPath() भी होगा, लेकिन अन्य विशेष फ़ोल्डरों की तुलना में शायद ही सहज ज्ञान युक्त है)।

लेकिन My ऐसे मामलों में केवल फायदेमंद है क्योंकि मौजूदा एपीआई बुरी तरह से डिज़ाइन की गई हैं, क्योंकि My स्वाभाविक रूप से बेहतर नहीं है। जैग्रेगरी की तरह, मैं दृढ़ता से सुझाव देता हूं कि My - या किसी भी अन्य प्रकार के वैश्विक नामस्थान, चर, इत्यादि - जब भी संभव हो, विस्तार से बचें। विचार सिर्फ एक स्वच्छ ओओपी वास्तुकला फिट नहीं है।

+3

यह तर्क दिया जा सकता है कि आप उत्पादकता और पठनीयता से पहले एक स्वच्छ ओओपी आर्किटेक्चर का मूल्यांकन कर रहे हैं? "मेरा विस्तार न करें" के लिए – MarkJ

3

मैं कभी भी अपना नामस्थान (मैं एक सी # डेवलपर हूं) का उपयोग नहीं करता, लेकिन मेरा वीबी सहकर्मी भी नहीं करता है।मैंने पाया कि मेरे सदस्यों को जरूरी नहीं है, क्योंकि कई मामलों में, वे मेरे लिए प्रतिद्वंद्वी हैं, उदा। मेरी राय में एक फाइल खोलने के लिए आईओ (इसलिए System.IO.File) के साथ कुछ करना है और मेरे कंप्यूटर (My.Computer.FileSystem) के साथ नहीं। वे हमेशा इतने बिखरे हुए और एक साथ बंधा लगते हैं।

यह कार्यक्षमता की कुछ पुन: रोल है जो अन्य भाषाओं से पहले से ही उपलब्ध है। और मुझे माइक्रोसॉफ्ट के आधार पर पसंद नहीं है। VisualBasic.dll जब मैं .NET के लिए विकसित कर रहा हूं - मैं हमेशा सिस्टम पसंद करता हूं। *।

और फिर, यह हमेशा सीमित है। मैं वीबी डेवलपर्स को अपने ऐप के साथ संघर्ष करता हूं जब उन्हें माई नेमस्पेस में कुछ नहीं मिल रहा है, क्योंकि वे कल्पना नहीं कर सकते कि आप सिस्टम नेमस्पेस में कुछ उपयोग कर सकते हैं। यह निश्चित रूप से माई नेमस्पेस की समस्या नहीं है।

1

मेरा प्यार करो! कुछ भी जो मुझे नौकरी तेजी से करने में मदद करता है, और उन समाधानों के लिए कोड प्रदान करता है जिन्हें मुझे लिखना नहीं है, बेहतर!

0

मैं इसका बहुत उपयोग नहीं करता हूं।

0

मैं वीबीएनईटी के लिए एक ढांचा बनाने पर विचार कर रहा हूं, और वीबी में प्लग करने के लिए माई नेमस्पेस का उपयोग करके एक उचित विचार की तरह लगता है। क्या यह?

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

4

मैंने अपनी वीबी.नेट परियोजनाओं में मेरा उपयोग किया है, और मुझे इसके बारे में दोषी नहीं लगता है। मैं मुख्य रूप से एक सी # लड़का हूं, लेकिन जब तक मैंने अपनी कंपनी को सी # में परिवर्तित नहीं किया, हम एक वीबी दुकान थे। मेरे दिमाग में, माई नेमस्पेस सिंटेक्टिक चीनी का एक अच्छा टुकड़ा है। जैसे ही मैं सी # के कोलेसे ऑपरेटर और अन्य चीनी का उपयोग करने के लिए शर्मिंदा नहीं हूं, मैं वीबी की चीनी का उपयोग करने के लिए शर्मिंदा नहीं हूं। (कुछ हद तक; मैं क्लासिक वीबी फ़ंक्शंस का उपयोग नहीं करूंगा जो .NET अभी भी खुलासा करता है।)

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

+2

+1। यह निश्चित रूप से रखरखाव को भ्रमित कर देगा। और क्या होता है जब वीबी2015 आता है, और माइक्रोसॉफ्ट ने मेरे लिए कुछ जोड़ा है जो आपने जो जोड़ा है उसके साथ संघर्ष करता है? – MarkJ

1

मैं वी.बी.नेट में प्रोग्रामिंग करते समय अक्सर My.Settings और My.Computer का उपयोग करता हूं। मैं विशेष रूप से MySettings का उपयोग कॉन्फ़िगरेशन मैनेजर का उपयोग करने के विकल्प के रूप में करता हूं।AppSettings जब यह उचित है।

मैं जॉन रूडी से मेरा उपयोग के बारे में सहमत हूं। यह वाक्य रचनात्मक चीनी है जो जीवन को थोड़ा और अधिक पठनीय बनाता है।

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