स्थिरांक से भरे वर्ग का उपयोग करने वाला IMO स्थिरांक के लिए ठीक है। यदि वे अर्ध-कभी-कभी बदलते हैं, तो मैं आपके कॉन्फ़िगरेशन और इसके बजाय कॉन्फ़िगरेशन प्रबंधक वर्ग में AppSettings का उपयोग करने की सलाह देता हूं।
जब मेरे पास "स्थिरांक" होते हैं जो वास्तव में AppSettings से खींचे जाते हैं या इसी तरह के मैं अभी भी हमेशा एक "स्थिरांक" वर्ग होता है जो कॉन्फ़िगरेशन प्रबंधक से रीडिंग को लपेटता है। किसी भी स्थान पर Constants.SomeModule.Setting
सीधे उपयोग करने के बजाय यह हमेशा अधिक सार्थक ConfigurationManager.AppSettings["SomeModule/Setting"]
है कि कहा गया मूल्य निर्धारित करना चाहते हैं।
इस सेटअप के लिए बोनस अंक, चूंकि SomeModule
कॉन्स्टेंट फ़ाइल के अंदर एक नेस्टेड क्लास होगा, आप आसानी से डिपेंडेंसी इंजेक्शन का उपयोग कर सकते हैं ताकि SomeModule
सीधे उस पर निर्भर होने वाली कक्षाओं में सीधे इंजेक्ट किया जा सके । आप इसके शीर्ष पर एक इंटरफ़ेस भी निकाल सकते हैं SomeModule
और फिर ISomeModuleConfiguration
अपने उपभोग कोड में एक निर्भरता पैदा कर सकते हैं, यह तब आपको कॉन्स्टेंट फ़ाइलों पर निर्भरता को कम करने की अनुमति देगा, और यहां तक कि संभावित रूप से परीक्षण को आसान बना देगा, खासकर अगर ये सेटिंग AppSignings और से आती हैं आप उन्हें कॉन्फ़िगरेशन परिवर्तनों का उपयोग करके बदलते हैं क्योंकि सेटिंग्स पर्यावरण विशिष्ट हैं।