क्या यह तय करने के लिए कोई दिशा-निर्देश हैं कि एक वर्ग अपनी विधानसभा / DLL में कब होना चाहिए? मैं अक्सर विचार के दो स्कूलों को देखता हूं:
1) कक्षाओं का प्रत्येक "समूह" अपने स्वयं के DLL में होता है जैसे रिपॉजिटरी, सेवा, डीटीओ, इन्फ्रास्ट्रक्चर, आदि।
2) सब कुछ एक ही DLL में होना चाहिए लेकिन नामस्थान / फ़ोल्डर के माध्यम से अलग हो गया जैसे कि एक अतिरिक्त Corepaces के साथ "Core" DLL है जैसे Core.Repositories, Core.Services, Core.DTO, आदि।
काम पर हम एक ही असेंबली में "बिज़नेस" नामक एक चीज में सब कुछ लुटा देते हैं। कुछ फ़ोल्डर हैं, लेकिन कोई वास्तविक पृथक्करण नहीं है - व्यावसायिक ऑब्जेक्ट्स (तर्क के साथ, जिनमें से कुछ भी कक्षाएं नहीं होनी चाहिए) बिना देखभाल के "BusinessObjects" फ़ोल्डर में lumped हैं। एक से अधिक वर्ग में उपयोग की जाने वाली चीजें "कोर" फ़ोल्डर में हैं। उपयोगिताएँ "उपयोगिताएँ" फ़ोल्डर में हैं, डेटा एक्सेस इन्फ्रास्ट्रक्चर एक "डेटा" फ़ोल्डर है - आपको यह विचार मिलता है।
एक नए मॉड्यूल के लिए मैं जिस पर काम कर रहा हूं, उसके लिए एक अलग डेटा एक्सेस लेयर होना चाहिए (एक अल्पविकसित रिपॉजिटरी कार्यान्वयन के बारे में सोचें), लेकिन मैं इसे "BusinessObjects" फ़ोल्डर के तहत अन्य 160 (!) के साथ फेंकना नहीं चाहता। वहां कक्षाएं। उसी समय मैं एक नई क्लास लाइब्रेरी बनाने के बारे में चिंतित हूं, क्योंकि सभी का उपयोग एकल लाइब्रेरी में क्लास भरने के लिए किया जाता है; एक फ़ोल्डर / नाम स्थान हालांकि काम कर सकता है।