स्टैकओवरफ्लो उपयोगकर्ता: मूल प्रकार, या का उपयोग कर प्रोग्रामों में बहुत सी चीजों का प्रतिनिधित्व किया जा सकता है, हम इसके लिए एक नई कक्षा बना सकते हैं।मूल प्रकार (इंटीजर, स्ट्रिंग) का उपयोग कब करें, और कब एक नई कक्षा लिखनी है?
उदाहरण: एक सामाजिक सुरक्षा संख्या एक संख्या, स्ट्रिंग या अपनी वस्तु हो सकती है।
(अन्य सामान्य उदाहरण: फ़ोन नंबर, नाम, पिन कोड प्रयोक्ता आईडी, आदेश आईडी और अन्य पहचान-पत्र।)
मेरा प्रश्न है: जब बुनियादी प्रकार इस्तेमाल किया जाना चाहिए, और जब हम अपने आप को एक लिखना चाहिए नई कक्षा?
मुझे लगता है कि जब आपको व्यवहार जोड़ने की आवश्यकता होती है, तो आप एक कक्षा (उदाहरण, सोशल सिक्योरिटी नंबर पार्सिंग, सत्यापन, स्वरूपण इत्यादि) बनाना चाहते हैं। लेकिन क्या यह एकमात्र मानदंड है?
मैं उन मामलों में आया हूं जहां इनमें से कई चीजें जावा इंटेगर्स और/या स्ट्रिंग्स के रूप में प्रदर्शित होती हैं। हमने टाइप-चेकिंग के लाभ को खो दिया है, और मैंने अक्सर function(Intever, Integer, Integer, Integer)
पर कॉल में मिश्रित पैरामीटर के कारण बग को देखा है।
क्या हमें function(OrderId, ExternalOrderId, UserId, SalesManId)
इस्नटेड होने से लाभ नहीं हो सकता है और टाइपिंग जांच से लाभ हो सकता है, भले ही इनमें से कोई अकेला अपनी कक्षा नहीं लेता है?
जाहिर है, जवाब "यह निर्भर करता है"। लेकिन, आप क्या सोचते हैं, और आप आम तौर पर क्या करते हैं?
कक्षाओं के साथ प्राइमेटिव को प्रतिस्थापित करने के विचारों के बारे में एक सवाल है, यदि आप तय करते हैं कि आप कब चाहते हैं: http://stackoverflow.com/questions/24981278/design-patterns-for-type-safe-integers – Morad