काल्पनिक तर्कों से परे और विजुअल स्टूडियो आईडीई और बढ़ते सॉफ्टवेयर प्रोजेक्ट्स के साथ विंडोज .NET पर ध्यान केंद्रित करने के बजाय, यह सिर्फ इस संदर्भ में समझ में आता है कि प्रति फ़ाइल एक वर्ग है।
सामान्य तौर पर, दृश्य संदर्भ के लिए प्रति फ़ाइल एक वर्ग कुछ भी नहीं धड़कता है। वास्तव में।
मुझे नहीं पता कि Microsoft ऐसा करता है या नहीं करता है, हालांकि उन्होंने कई फ़ाइलों पर एक वर्ग को विभाजित करने के लिए partialकीवर्ड बनाया (यह और भी गंभीर है)। यह अक्सर अपने कस्टम कोड से ऑटो-जनरेट किए गए डिज़ाइनर कोड को एक ही क्लास में विभाजित करने के लिए उपयोग किया जाता है (लेकिन कभी-कभी इसका उपयोग विभिन्न डेवलपर्स को अलग-अलग फ़ाइलों के माध्यम से एक ही समय पर क्लास में काम करने की अनुमति देने के लिए किया जाता है)। इसलिए Microsoft कई फ़ाइलों के लाभ देखता है और हर किसी के पास .NET के साथ सुनिश्चित करने के लिए कई फ़ाइल संगठन विचार होते हैं।
नेस्टेड कक्षाओं के लिए आपके पास एक फ़ाइल का उपयोग करने के लिए या उनमें कक्षाओं के कम से कम पहले भागों के अलावा कोई विकल्प नहीं है। इस मामले में एक फ़ाइल आवश्यक और ठीक है:
class BicycleWheel {
class WheelSpoke {
}
}
अन्यथा आप एक फ़ाइल में कई कक्षाएं क्यों रखेंगे? तर्क "क्योंकि वे छोटे हैं" या एक-दूसरे से जुड़े होने के कारण बहुत पानी नहीं है क्योंकि अंततः आपकी कक्षाएं अन्य वर्गों के साथ जुड़ी होंगी। अंततः आप आसानी से उनके उपयोग के आधार पर वस्तुओं के इन-फाइल संगठन का अनुमान नहीं लगा सकते हैं, विशेष रूप से सॉफ्टवेयर का बढ़ना जारी है।
इसके अतिरिक्त अगर आप नेमस्पेस के लिए फोल्डर का उपयोग करते हैं तो आपके पास कभी भी क्लास फाइलनाम क्लैश नहीं होगा। विजुअल स्टूडियो जैसे विकास के माहौल के अंदर नहीं होने पर फ़ाइल सिस्टम पर फ़ाइल नाम से एक वर्ग का पता लगाना सुविधाजनक है (जैसे कि यदि आप किसी क्लास को नोटपैड या कुछ त्वरित / प्रकाश के साथ संपादित करना चाहते हैं )।
इतने अच्छे कारण ...