2008-12-11 17 views
5

मैं जो परियोजना में इस्तेमाल किया जा रहे हैं लगातार घोषणा के लिए इन दो दृष्टिकोण को देखा है।घोषणा स्थिरांक

  1. सार्वजनिक मॉड्यूल में स्थिरांक। एक NonInheritable (सील) कक्षा में

  2. स्थिरांक

किसी को भी लगातार declartion के लिए किसी अन्य दृष्टिकोण का उपयोग करता है?

वहाँ इन तरीकों, किसी भी पक्ष-विपक्ष के बीच कोई अंतर है?

धन्यवाद।

उत्तर

13

वर्ग जहां यह सबसे अधिक प्रासंगिक हो में लगातार रखो - जैसे Math.Pi, Int32.MinValue आदि

मैं विभिन्न स्थिरांक जो वास्तव में enums भी होना चाहिए देखा है - विशेष रूप से बस के लिए स्थिति कोड आदि

मैं इसे एक वर्ग (या मॉड्यूल) बनाने के लिए बुद्धिमान है नहीं लगता है के लिए स्थिरांक जब तक वास्तव में कोई समझदार वर्ग नहीं है कि उन स्थिरांक जुड़े हुए हैं।

3

मैं @Jon से सहमत हैं। हालांकि, स्थिरांक है कि आपके आवेदन के लिए अद्वितीय हैं के लिए - अर्थात, वे विन्यास चूक, ट्यूनिंग पैरामीटर, आदि कर रहे हैं, मैं कभी कभी एक जोरदार टाइप स्थिर विन्यास वर्ग उन्हें धारण करने के लिए पैदा करते हैं। मैं केवल सार्वजनिक गेटर्स परिभाषित गुणों के माध्यम से मूल्यों का पर्दाफाश करता हूं। इस तरह उन्हें एक कॉन्फ़िगरेशन फ़ाइल से लोड किया जा सकता है, लेकिन आपके कोड में निश्चित मान के रूप में संदर्भित किया जाता है।

1

मेरे अभ्यास क्या जॉन राज्यों के समान है। enums और निरंतर के विशाल बहुमत के स्पष्ट रूप से एक विशेष वर्ग या मॉड्यूल से जुड़े होते हैं और वहाँ में सार्वजनिक घोषणा की जाती है।

मेरे सॉफ़्टवेयर का निम्नतम स्तर उपयोगिता कहलाता है और गणित के दिनचर्या और अन्य कार्यों और सामान्य उपयोगिता की विधि (उस एप्लिकेशन के मोड में विशिष्ट उपयोगिता के बजाय) शामिल है। में एक मॉड्यूल समारोह का एक समूह है कि बस उपयोगिता कार्यों/सबरूटीन्स कोई आम विषय है कि कर रहे हैं के रूप में की गई है। यह उस क्षेत्र में है जहां कोई भी enums या निरंतर जाना है।

एप्लिकेशन मॉडल के लिए एक समान क्षेत्र है जहां उस एप्लिकेशन के लिए सामान्य उपयोग की जाने वाली सुविधाएं हैं। और वह जहां स्थिरांक जो मॉडल के किसी भी वर्ग से बंधे नहीं जा सकते हैं।

तो वहाँ तीन क्षेत्रों में जहां लगातार मेरी निजी ढांचे में पाया जा सकता है

वर्ग घोषणाओं आवेदन मॉडल के सामान्य उपयोगिता मॉड्यूल उपयोगिता विधानसभा के सामान्य उपयोगिता मॉड्यूल।

प्रैक्टिस में केवल कुछ हद तक मुट्ठी भर और कुछ भी उपयोगिता मॉड्यूल में घोषित होने की आवश्यकता है। उनमें से अधिकांश Win32 फ़ंक्शन द्वारा उपयोग किए जाने वाले Win32 फ़ंक्शनरेशन हैं जो मेरी असेंबली में आयात किए जाते हैं।

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