मुझे पता है कि "मैं" सम्मेलन COM के बाद से आस-पास रहा है, लेकिन मुझे कभी समझ नहीं आया कि .NET के पहले हर दूसरे नामकरण सम्मेलन की तरह इस पर पुनर्विचार क्यों नहीं किया गया।
सेवन वार, केवल एक चीज जो एक इंटरफ़ेस को अलग करती है, कहते हैं, एक अमूर्त वर्ग है, यह है कि उन्हें बहुगुणित विरासत में प्राप्त किया जा सकता है। लेकिन विजुअल स्टूडियो 2003 के बाद सब कुछ टूलटिप्स में टाइप हस्ताक्षर दिखाए गए हैं, इसलिए यह अन्य सभी हंगेरियन नोटेशनों के रूप में बेकार है जिन्हें त्याग दिया गया है।
मैंने यह भी सोचा कि ऐसा हो सकता है कि आप एक ही नाम के साथ इंटरफेस का एक बुनियादी कार्यान्वयन कर सकते हैं, उदाहरण के लिए Message
विरासत में मिला है IMessage
, लेकिन अधिकांश .NET पुस्तकालयों के अंत में "आधार" शब्द जोड़ने के लिए गए हैं (उदाहरण के लिए System.Collections.ReadOnlyCollectionBase
) - और यह अधिक अर्थपूर्ण समझ में आता है।
COM इंटरॉप एक और संभावित कारण लगता है - लेकिन ऐसा नहीं है कि रैपर कक्षाएं जो उत्पन्न करती हैं, वह पूरी तरह से मुहावरेदार .NET हैं, इसलिए मुझे संदेह है कि यह एक सौंदर्यवादी विचार था।
मेरी एक नई परियोजना में मैंने पूरी तरह से सम्मेलन को क्षमा कर दिया है, और यह ठीक लगता है। क्या मुझे कुछ याद आ रहा है?
IList
एक अनुक्रमित, सन्निहित संग्रह, यादृच्छिक अभिगम के लिए एक सामान्य शब्द है, जबकि List
एक अनुक्रमित, सन्निहित, यादृच्छिक अभिगम, बढ़ता संग्रह है। मुझे लगता है कि एफ # यह सही aliasing में था List
करने के लिए ResizeArray
; यह निश्चित रूप से एक बहुत अधिक वर्णनात्मक नाम है। IList
तब हो सकता था List
, ताकि ऐसा न लगे कि यह भी एक कारण होगा।