2009-07-23 23 views
8

मुझे हमेशा यह विचार था कि .NET, "System" में रूट नेमस्पेस मुख्य रूप से उन चीज़ों के लिए था जो किसी विशेष प्लेटफ़ॉर्म पर बहुत अधिक निर्भर नहीं थे।Windows.Forms सिस्टम में क्यों है और माइक्रोसॉफ्ट नहीं है?

मैं अगर किसी को भी क्यों Windows.Forms नाम स्थान System में है के रूप में किसी भी विचार या अंतर्दृष्टि था और यह काफी एक मंच में आरोपित किया जा रहा है नहीं Microsoft के बाद से सोच रहा था।

(कोई लौ युद्धों या अनावश्यक एमएस कोसने यदि संभव हो तो कृपया! :))

+5

असल में विंडोज़.फॉर्म का उपयोग मोनो में भी किया जा सकता है, और इसलिए मैक ओएस एक्स और $ your_linux_distribution के लिए भी संकलित किया जा सकता है। – Residuum

+0

लौ युद्धों के बारे में चिंता मत करो। यह यहाँ बहुत दुर्लभ है। उन प्रकार के उत्तरों को कम किया जाएगा और ब्याज बहुत तेजी से खो देंगे। –

+1

दिलचस्प सवाल - मैं यह भी जानना चाहता हूं कि एमएस कैसे तय करता है कि सिस्टम में क्या होता है और माइक्रोसॉफ्ट में क्या होता है।सिस्टम में बहुत सी चीजें विंडोज में बंधी लगती हैं और माइक्रोसॉफ्ट में बहुत सी चीजें वैकल्पिक प्लेटफॉर्म पर काम कर सकती हैं। – Keith

उत्तर

13

मैंने कहीं कि System.* नामस्थान चीजें हैं जो कोर नेट ढांचे का हिस्सा हैं के लिए कर रहे हैं पढ़ा है, जबकि Microsoft.* नामस्थान अतिरिक्त "मूल्य वर्धित" वैकल्पिक एक्स्ट्रा, या विकास में हैं जो चीजों के लिए हैं।

संपादित करें:

ब्राड अब्राम .NET 3.0 प्रोग्रामर संदर्भ साथ दृश्य मूल 2005 से एक उद्धरण What Does that .NET Namespace Mean: System.* and Microsoft.*

साथ ही अपने ब्लॉग पोस्ट में इस बारे में एक चर्चा है,:

माइक्रोसॉफ्ट रूट नेमस्पेस में माइक्रोसॉफ्ट-विशिष्ट आइटम हैं। सिद्धांत रूप में, कोई भी विक्रेता .NET भाषाओं को कार्यान्वित कर सकता है जो इंटरमीडिएट भाषा (आईएल) कोड में अनुवाद करते हैं। यदि आप ऐसी भाषा बनाना चाहते हैं, तो माइक्रोसॉफ्ट नेमस्पेस में आइटम आमतौर पर आपकी भाषा पर लागू नहीं होंगे। सिस्टम नेमस्पेस में आइटम ... आपकी भाषा के उपयोगकर्ताओं के लिए उपयोगी होंगे क्योंकि वे प्रोग्रामर हैं जो माइक्रोसॉफ्ट भाषाओं का उपयोग करते हैं, लेकिन माइक्रोसॉफ्ट नेमस्पेस में आइटम शायद सहायक नहीं होंगे।

यह अर्थ होगा कि अगर मैं एक नया नेट भाषा बनाने के लिए था, मैं UI के बनाने के लिए System.Windows.Forms नाम स्थान का उपयोग करने में सक्षम होगा, लेकिन मैं शायद Microsoft.* नामस्थान में कक्षाओं का अधिक उपयोग नहीं होता।

+0

बहुत अच्छा मुद्दा! इस तरह से कभी इस बारे में सोचा नहीं, लेकिन यह indeeds बहुत समझ में आता है। – mcjabberz

1

मेरा अनुमान होगा:

माइक्रोसॉफ्ट बहु मंच होने की क्षमता होने के रूप में नेट ढांचे की कल्पना की, लेकिन वे केवल विंडोज प्लेटफॉर्म के लिए एक क्रम पर्यावरण प्रदान करने के लिए जा रहे थे। उन्होंने शायद माना कि कोई भी अन्य प्लेटफ़ॉर्म के लिए रनटाइम वातावरण प्रदान करने वाला व्यक्ति इसे इस तरह कार्यान्वित करेगा कि System.Forms का उपयोग किया जा सकता है। रनटाइम मूल कार्यान्वयन के बीच मतभेदों को संभालेगा।

+0

विशेष रूप से विश्वसनीय नहीं है, इस बात पर विचार करते हुए कि System.Forms कैसे उपयोगकर्ता 32 है। – EFraim

+1

बहुत सच है। मैं उम्मीद करता हूं कि कार्यान्वयन से पहले नामस्थान की कल्पना की गई थी ... और कार्यान्वयन वह नहीं था जो उन्होंने कल्पना की थी। संदिग्ध, मुझे पता है। –

+0

@EFraim वास्तव में नहीं। निश्चित रूप से, कार्यान्वयन बहुत दूर नहीं है, लेकिन जब आप अपना रनटाइम लागू कर रहे हों तो यह जरूरी नहीं है - आप पूरी चीज को वैसे भी बदल दें। लेकिन मूल यूआई सामान विंडोज से प्रभावित होता है, लेकिन विंडोज़ में यह वास्तव में * बंधे * नहीं है (जब तक आप * प्लेटफॉर्म-निर्भर सामान का उपयोग नहीं करते हैं, जैसे 'WNDProc' ओवरराइड करना)। मोनो विंडोज़ को लागू करता है। आपके सिस्टम पर जो भी डेस्कटॉप मैनेजर है, उसके साथ ठीक है। – Luaan

0

सिर्फ इसलिए कि "माइक्रोसॉफ्ट विंडोज" को "विंडोज" में अपमानित किया गया है इसका मतलब यह नहीं है कि "खिड़की" अवधारणा माइक्रोसॉफ्ट की तुलना में व्यापक नहीं है। माइक्रोसॉफ्ट विंडोज, एक्स 11 आदि के माध्यम से मूल आईबीएम पीआरसी इंटरफ़ेस के बाद से जीयूआई के सभी कार्यान्वयन सभी विंडोज और फॉर्म नियंत्रणों को संदर्भित करते हैं, यह सिर्फ माइक्रोसॉफ्ट ने अपना विशेष आरोपण "विंडोज" कहा है। इस प्रकार System.Windows.Forms सही लगता है क्योंकि विंडो के लिए "विंडोज" का हिस्सा होना जरूरी नहीं है। शायद यह एक कम मामले डब्ल्यू के साथ खिड़कियां होना चाहिए। लेकिन यह नामस्थानों के नामकरण सम्मेलनों को तोड़ देगा।

+0

असल में विंडोज़.फॉर्म माइक्रोसॉफ्ट (आर) विंडोज़ देखो और महसूस करते हैं, जीटीके # और कोको # – Residuum

+0

के विपरीत वास्तव में मुझे लगता है कि माइक्रोसॉफ्ट (आर) विंडोज देखो और महसूस करने का कारण यह है क्योंकि आप माइक्रोसॉफ्ट (आर) विंडोज़। @adrianbanks द्वारा जवाब देखें। –

+0

जब मैं डेबियन सिड में मोनो के साथ विंडोज़.फॉर्म संकलित करता हूं, तो मुझे अभी भी माइक्रोसॉफ्ट विंडोज़ दिखता है और लगता है, शराब के साथ माइक्रोसॉफ्ट विंडोज अनुप्रयोगों को चलाने के समान। – Residuum

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

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