c# - The reason of System.Numerics being a separate Assembly -


System.Numerics विधानसभा में केवल दो प्रकार के होते हैं (स्ट्रैक्ट्स) BigInteger और कॉम्प्लेक्स , बाकी की संख्यात्मक प्रकारों में निर्मित (int, long, double ... सहित) System.dll विधानसभा ।

क्यों इस तरह के विभाजन? उदाहरण के लिए, मैं दोनों विधानसभाओं से दो प्रकार के घोषणापत्र में उदाहरण के लिए देख सकता हूं:

डबल:

  सार्वजनिक संरचना डबल: आईसीओम्पेरेबल, IFormattable, IConvertible, IComparable & lt; डबल & gt ;, IEquatable & lt; डबल & gt;  

कॉम्प्लेक्स:

  पब्लिक स्ट्रक्चर कॉम्प्लेक्स: आईवैक्टेबल & lt; कॉम्प्लेक्स & gt ;, आइफोरमटेबल  

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

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

संपादित करें: मेरी राय के बारे में बात करने के लिए मुझे इस प्रश्न का मतलब नहीं है, मैं इस मामले को समझ नहीं पा रहा हूं, मैं इस प्रश्न को मंच के लिए अधिक समझने के लिए पूछता हूं।

वे फ्रेमवर्क में अन्य प्रकार की तुलना में बाद में जोड़े गए थे।

कुछ बिंदु पर, माइक्रोसॉफ्ट में कुछ टीम इन दो प्रकार के निर्माण कर रही है, और उन्हें एक निर्णय करना है: क्या हम उन्हें मौजूदा डीएलएल में जोड़ते हैं, उदा। Mscorlib.dll या System.dll, या क्या हम उन्हें एक नई डीएलएल में डालते हैं।

मुझे यकीन है कि वे सभी समर्थक और चोर मानते हैं।

यहां कुछ संभव तर्क हैं उन्हें एक अलग विधानसभा में डाल देने के फैसले के पक्ष में:

  • ये शायद ही कभी आवश्यक होते हैं
  • अन्य लोगों में संभवतः BigInteger और कॉम्प्लेक्स नामक लागू किए गए प्रकार के हो सकते हैं। एक मौजूदा विधानसभा में हमारे कार्यान्वयन को जोड़कर, हम उनके लिए समस्याएं पैदा करने की संभावना नहीं रखते (यानी उनका निर्माण तोड़ते हैं)।
  • उन्हें एक अलग विधानसभा में डालकर, हम एक अलग रिलीज चक्र बना सकते हैं। हमें इस विधानसभा को रिहा करने के लिए .NET ढाँचा के अगले रिलीज की प्रतीक्षा करने की ज़रूरत नहीं है।

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


Comments