मैंने यह तर्क सुना है कि आपको उपलब्ध सबसे सामान्य इंटरफ़ेस का उपयोग करना चाहिए ताकि आप उस इंटरफ़ेस के किसी विशेष कार्यान्वयन से बंधे न हों। क्या यह तर्क java.util.Collection जैसे इंटरफेस पर लागू होता है ?
मैं बहुत कुछ देखना चाहूंगा जैसे कि निम्नलिखित:
List<Foo> getFoos()
या
Set<Foo> getFoos()
के बजाय
Collection<Foo> getFoos()
आखिरी स्थिति में, मुझे नहीं पता कि मैं किस तरह के डेटा सेट के साथ काम कर रहा हूं, जबकि पहले दो उदाहरणों में मैं ऑर्डर देने और विशिष्टता के बारे में कुछ अनुमान लगा सकता हूं। क्या java.util.Collection में सेट और सूचियों दोनों के लिए तार्किक माता-पिता होने के बाहर एक उपयोगिता है?
यदि आप एक कोड की समीक्षा करते समय उस नियोजित संग्रह में आए थे , तो आप यह कैसे निर्धारित करेंगे कि क्या इसका उपयोग उचित है, और अधिक विशिष्ट इंटरफ़ेस के साथ इसके प्रतिस्थापन के लिए आप क्या सुझाव देंगे?
Collection<List<?>>
? कोडिंग हॉरर के बारे में बात करो!