मैं एक छोटी परियोजना का डिजाइन कर रहा हूं जहां मैंने अपने सभी वर्गों के लिए इंटरफेस के खिलाफ प्रोग्रामिंग का उपयोग नहीं किया। मैंने पाया कि कुछ कक्षाओं को बदलने के लिए शायद ही कभी आवश्यकता होगी, इसलिए मैंने उन्हें अपने क्लाइंट वर्गों द्वारा कंक्रीट कक्षाओं के रूप में संदर्भित करने दिया।क्या मुझे अपनी कक्षाओं में कन्स्ट्रक्टर इंजेक्शन के माध्यम से ठोस वर्ग निर्भरता स्पष्ट करनी चाहिए?
मान लें कि हम ClassB
है ClassA
द्वारा खपत का सेवन किया जा हो जाएगा करते हैं:
class ClassB {
}
मेरा प्रश्न है, मैं ClassA
में ClassB
बनाना चाहिए, या मुझे लगता है कि फ्रॅन्स पास करना चाहिए पदानुक्रम में "ऊपर"? मैं दोनों ही मामलों को दर्शाती होगी:
class ClassA {
private ClassB classB;
public ClassA() {
this.classB = new ClassB();
}
}
या
class ClassA {
private ClassB classB;
public ClassA(ClassB classB) {
this.classB = classB;
}
}
मैं के बारे में आप इसे कैसे करना होगा सुनने के लिए और क्या यह पीछे तर्क होना चाहते हैं!
धन्यवाद
कोई फर्क नहीं पड़ता! आप अभी भी कंक्रीट के लिए प्रोग्रामिंग कर रहे हैं! –
असल में यह बनाता है। मैं इसे कक्षाबी की विस्तारित कक्षाएं पास कर सकता हूं। लेकिन फिर शायद यह पहली जगह इंटरफ़ेस के खिलाफ क्लास प्रोग्राम प्रोग्राम करने के लिए और अधिक समझदार होगा। :( –
हां ................. –