मुझे यह कहना नफरत है कि यह निर्भर करता है, लेकिन यह निर्भर करता है।
यदि आपको दुनिया में हर एक कार का मॉडल करने की आवश्यकता है, और जिन तरीकों से आप उन्हें कॉल कर सकते हैं (जैसे "टायर बदलना", जो एक प्रक्रिया है जो प्रत्येक मॉडल के लिए बहुत अलग है) तो हाँ, आप जा रहे हैं बहुत सारे फुले हुए वर्गों के लिए, क्योंकि आपकी असली दुनिया की स्थिति भी फूली हुई है।
यदि आप सिर्फ आर्केटीपल कारों की तस्वीरों का डेटाबेस रखना चाहते हैं, और आप कार नहीं करते हैं कि यह आपके पड़ोसी के उदाहरण या आपकी बहन के उदाहरण की तस्वीर है, तो आप नीचे की परत को छोड़ सकते हैं। "200 9 वीडब्ल्यू सीसी" एक उदाहरण हो सकता है, भले ही आप कल्पना कर सकें कि यह किसी अन्य मॉडल में भी एक वर्ग है।
वैकल्पिक रूप से, शायद आपको इसे एक वास्तविक सबक्लास बनाने की आवश्यकता नहीं है। एक साधारण संदर्भ पर्याप्त हो सकता है। उदाहरण के लिए, एक बीमा कंपनी कार मॉडल और वर्षों की एक बड़ी सूची के बारे में जानता है, लेकिन डेवलपर्स प्रत्येक के लिए एक सबक्लास नहीं लिखते हैं। इसके बजाए, उनके पास कार मॉडल का डेटाबेस है, जहां एक पंक्ति 200 वीडब्ल्यू सीसी का प्रतिनिधित्व कर सकती है। जब आप अपनी कार बीमा करते हैं, तो वे "200 9 वीडब्ल्यू सीसी" उदाहरण के संदर्भ में "बीमाकृत कार" का एक उदाहरण बनाते हैं।
यह सख्ती से "ए के लिए विरासत का उपयोग करें" एक रिश्ते का पालन नहीं करता है, लेकिन सभी कार प्रकारों पर संचालन समान हैं - यह केवल पैरामीटर (उदाहरण के लिए बीमा मूल्य प्रतिवर्ष) है जो बदलता है, और नए कार मॉडल डेटाबेस में दर्ज किए गए हैं, कोड में नहीं।
यहां एक धारणा यह है कि आप अंतर मॉडल के बीच अंतर को मॉडल पर समान तरीकों के पैरामीटर के रूप में मॉडल कर सकते हैं।
(इसके अलावा: जब आईफोन फोन कंपनी वेब साइटों के माध्यम से उपलब्ध हो रहा था, मैंने देखा कि यह अपने वर्ग मॉडल तोड़ दिया - उनकी वेब साइटें एक पृष्ठ पर फोन के दर्जनों ब्रांडों और मॉडल को संभालने लगती थी - शायद एक साधारण उपयोग फोन और उनकी सुविधाओं का डेटाबेस - और उसके बाद आईफोन मॉडल को संभालने के लिए एक विशेष पृष्ठ की आवश्यकता थी, संभवतः क्योंकि आईफोन बिक्री के कुछ पहलुओं का समर्थन करने के लिए अपने वर्गों पर नए विशेष तरीकों की आवश्यकता थी। स्वचालित बिक्री डेस्क कहेंगे "फोन खरीदने के लिए 1 दबाएं आईफोन खरीदने के लिए 2 दबाएं। ")
मैं किसी कार के हर उदाहरण (या उस मामले के लिए कोई उत्पाद) मॉडल करने का इरादा नहीं रखता हूं, लेकिन मैं अपने आवेदन में ऐसा करने का एक तरीका प्रावधान करना चाहता हूं। उदाहरण के लिए यदि एक सीमित संस्करण में एक उत्पाद जारी किया गया है, या पर्याप्त अद्वितीय/अनुकूलित है। –
तो शायद एक संकर मॉडल उपयुक्त है। मानक_Car कार से विरासत में है, और इसका समर्थन करने वाले विभिन्न मॉडलों के डेटाबेस का संदर्भ है। कस्टम_Car कार से विरासत में आता है और स्वयं के प्रत्येक प्रकार की कार के लिए उप-वर्ग होते हैं जो कोड में मॉडलिंग के महंगे चरण के माध्यम से पर्याप्त रूप से पर्याप्त और महत्वपूर्ण दोनों होते हैं। आपकी पड़ोसी की कार मानकता या कार की कस्टमाइज्ड उप-वर्गों में से एक का उदाहरण हो सकती है, इसकी नवीनता के आधार पर। – Oddthinking