नाम (और javadocs) का अर्थ है कि MouseAdapter
एक एडाप्टर (डिज़ाइन पैटर्न) है। लेकिन मुझे ऐसा कुछ नहीं दिख रहा है - यह कम से कममाउस एडाप्टर एडाप्टर क्यों है?
एकमात्र अनुकूलन यह है कि आप किसी भी विधि से MouseAdapter
का उदाहरण पास कर सकते हैं जो किसी भी विधि से अपेक्षा करता है इंटरफेस। इसलिए, आप MouseListener
उदाहरण का उपयोग करना संभव बनाते हैं जहां केवल MouseMotionListener
अपेक्षित है। लेकिन कोई "अनुवाद" नहीं हो रहा है। और यह गोफ के यूएमएल के अनुरूप नहीं है - "क्लास एडाप्टर" संस्करण में यह उम्मीद की जाती है कि एक विधि में कॉल एडैप्टी से एक विधि को आमंत्रित करता है।
तो, एक एडाप्टर (डिजाइन पैटर्न) जो है, या यह सिर्फ एक यादृच्छिक नाम है कि भ्रम का कारण बनता है?
इस तर्क के साथ समस्या यह है कि, जैसा कि अन्य उत्तरों इंगित करते हैं, MouseAdapter स्थिति में कोई पूर्व-मौजूदा एडैप्टी नहीं हैं। गोफ एडाप्टर की प्रेरणा (मैं गोफ बुक को उद्धृत कर रहा हूं) "कभी-कभी टूलकिट क्लास जिसे पुन: उपयोग के लिए डिज़ाइन किया गया है, केवल पुन: प्रयोज्य नहीं है क्योंकि इसका इंटरफ़ेस डोमेन-विशिष्ट इंटरफ़ेस से मेल नहीं खाता है।" MouseAdapter एक * एडाप्टर * है क्योंकि इसे माउस ईवेंट कैप्चर करने के लिए आसानी से अनुकूलित किया जा सकता है (अनुकूलित)। गोफ एडाप्टर का कहना है कि आपके पास कुछ * लीगेसी क्लास * (टूलकिट) है जिसे आप नहीं बदल सकते हैं, इसलिए आप अपने इंटरफ़ेस को अपने एप्लिकेशन की आवश्यकता के अनुसार अनुकूलित करते हैं। – Fuhrmanator