उदाहरण के लिए:
मैं वर्ग का कहना है कि A, B, C। मैं दो इंटरफेस है, की सुविधा देता है उन्हें फोन IAnimalऔर IDog। IDogसे विरासत में मिला है IAnimal। Aऔर Bकर रहे हैं IDog, रों जबकि Cनहीं है, लेकिन यह एक है IAnimal।
महत्वपूर्ण हिस्सा यह है कि IDogकोई अतिरिक्त कार्यक्षमता की आपूर्ति नहीं करता है। इसका उपयोग केवल अनुमति देने के लिए किया जाता है Aऔर कुछ विधियों के तर्क के रूप में पारित Bनहीं Cकिया जाता है।
क्या यह बुरा अभ्यास है?
MyProject.Data.IAnimalऔर MyProject.Data.Animalसे बेहतर हैं MyProject.Data.Interfaces.Animalऔर MyProject.Data.Implementations.Animal
Interfaceया Implementationएक दोहरावदार उपसर्ग या एक नाम स्थान में है, तो भी परवाह करने का कोई कारण नहीं होना चाहिए , यह किसी भी तरह से एक मनोविज्ञान है और DRY का उल्लंघन करता है। Dogआप सभी का ध्यान रखना चाहिए। PitBull extends Dogया तो अतिरेक को लागू करने की आवश्यकता नहीं है, शब्द extendsमुझे बताता है कि मुझे अपने मूल टिप्पणी में पोस्ट किए गए लिंक को जानना होगा।
IAnimalऔरIDogकर रहे हैं भयानक अनुलाप नाम!