मैं इस तरह के पहचानकर्ताओं के लिए कस्टम प्रकार बनाने के बारे में सोच रहा हूं:
public enum CustomerId : int { /* intentionally empty */ }
public enum OrderId : int { }
public enum ProductId : int { }
इसके लिए मेरी प्राथमिक प्रेरणा उस तरह के बग को रोकना है, जहां आप गलती से एक आदेश पारित करते हैं।
ऐसा लगता है कि मैं एक सामान्य .NET वेब एप्लिकेशन में जो कुछ भी उपयोग करना चाहता हूं, उसके साथ काम करते हैं।
- MVC रूटिंग ठीक काम करता है
- JSON क्रमांकन ठीक काम करता है
- हर ORM मैं ठीक काम के बारे में सोच सकता हूं
तो अब मैं सोच रहा हूँ, "मुझे ऐसा क्यों नहीं करना चाहिए?" ये केवल कमियां हैं जो मैं सोच सकता हूं:
- यह अन्य डेवलपर्स को भ्रमित कर सकता है
- यदि आपके पास कोई गैर-अभिन्न पहचानकर्ता है, तो यह आपके सिस्टम में असंगतता का परिचय देता है।
- इसके लिए अतिरिक्त कास्टिंग की आवश्यकता हो सकती है, जैसे
(CustomerId)42
। लेकिन मुझे नहीं लगता कि यह एक मुद्दा होगा, क्योंकि ओआरएम और एमवीसी मार्ग आमतौर पर आपको सीधे एनम प्रकार के मान सौंपेंगे।
तो मेरा सवाल यह है कि मुझे क्या याद आ रहा है? यह शायद एक बुरा विचार है, लेकिन क्यों?