डोमेन-स्पेसिफिक ऑब्जेक्ट बनाम सादे स्ट्रिंग या नंबर का उपयोग करने के लिए सामान्य दिशानिर्देश या नियम क्या हैं?
उदाहरण:
- आयु वर्ग बनाम पूर्णांक?
- FirstName वर्ग बनाम स्ट्रिंग?
- यूनिकआईडी बनाम स्ट्रिंग
- PhoneNumber वर्ग बनाम स्ट्रिंग बनाम लंबा?
- डोमेननाम वर्ग बनाम स्ट्रिंग?
मुझे लगता है कि अधिकांश ओओपी चिकित्सक निश्चित रूप से फोननंबर और डोमेननाम के लिए विशिष्ट कक्षाएं कहेंगे। क्या उन्हें वैध बनाता है और उनकी तुलना कैसे की जाती है इसके बारे में अधिक नियम सरल कक्षाओं को आसान बनाते हैं और इससे निपटने के लिए सुरक्षित करते हैं। लेकिन पहले तीन के लिए बहस ज्यादा है।
मैं "आयु" वर्ग में कभी नहीं आया, लेकिन कोई यह तर्क दे सकता है कि यह समझ में आता है कि यह गैर-नकारात्मक होना चाहिए (ठीक है मुझे पता है कि आप नकारात्मक युगों के लिए बहस कर सकते हैं लेकिन यह एक अच्छा उदाहरण है कि यह एक आदिम पूर्णांक के लगभग बराबर है)।
स्ट्रिंग "प्रथम नाम" का प्रतिनिधित्व करना आम है, लेकिन यह सही नहीं है क्योंकि एक खाली स्ट्रिंग एक मान्य स्ट्रिंग है, लेकिन एक मान्य नाम नहीं है। तुलना आमतौर पर मामले की अनदेखी की जाएगी। यकीन है कि खाली जाँचने के तरीके हैं, केस-असंवेदनशील तुलना करते हैं, लेकिन इसके लिए उपभोक्ता को इसकी आवश्यकता होती है।
क्या उत्तर पर्यावरण पर निर्भर करता है? मैं मुख्य रूप से उद्यम / उच्च-मूल्य वाले सॉफ़्टवेयर से संबंधित हूं जो एक दशक से अधिक समय तक जीवित रहेगा और बनाए रखा जाएगा।
शायद मैं इसे उखाड़ फेंक रहा हूं, लेकिन मैं यह जानना चाहूंगा कि क्या किसी के पास वर्ग बनाम आदिम चुनने के नियम हैं।
people may be one or two years older in Asian reckoning than in the western age system
Age
जब आपको अतिरिक्त व्यवहार की आवश्यकता होती है, तो आप एक पूर्णांक के बजाय एक वर्ग का उपयोग करते हैं जो कि ऐसा वर्ग प्रदान करेगा।