एक प्रॉक्सी उस वस्तु के समान सटीक व्यवहार को उजागर करता है जैसा वह छुपाता है। एक प्रॉक्सी आमतौर पर रिमोट ऑब्जेक्ट से संपर्क करने के लिए उपयोग किया जाता है बिना यह जानने के लिए कि इसका संपर्क कैसे किया जाए। एक उदाहरण एक डब्ल्यूसीएफ सेवा है, आप एक प्रॉक्सी में सेवा तक पहुंचने को समाहित कर सकते हैं जो डब्ल्यूसीएफ सेवा के समान सटीक इंटरफ़ेस का खुलासा करता है, लेकिन कार्यान्वयन विवरण को दूर करता है जैसे कि चैनफेलैक्टरी का उपयोग करना और फाउल्टेक्सप्शन इत्यादि को संभालना आदि ... ऐसा लगता है कि ग्राहक बात कर रहा है स्थानीय रूप से डब्ल्यूसीएफ सेवा के लिए।
एक एडाप्टर भी एक अंतर्निहित वस्तु को छुपाता है, लेकिन यह आपके द्वारा एक्सचेंज किए गए डेटा को सही स्वरूप और अंतर्निहित वस्तु द्वारा उपयोग की जाने वाली सामग्री में बदल देता है। एक उदाहरण वास्तव में एक विरासत प्रणाली है, जैसे गोब्लिन कहते हैं। आप विरासत प्रणाली से बात करने की जटिलता को समाहित करते हैं (शायद यह एक चिपचिपा या CRUDY एपीआई का उपयोग करता है और आप इसे एक मोटे अनाज वाले ऑपरेशन के पीछे छिपाना चाहते हैं) अपने ग्राहकों को विरासत प्रणाली से बात करने का एक आसान तरीका प्रदान करने के लिए एडाप्टर में।
इस तरह मैं इसे कम से कम समझता हूं।
संपादित करें: वैसे, मुझे व्यक्तिगत रूप से लगता है कि आपको डिज़ाइन पैटर्न नामों को अंत-सब-डू-सब के रूप में देखना नहीं है। आप जो हासिल करना चाहते हैं उसके आधार पर सही पैटर्न चुनें और जो कुछ भी आप चाहते हैं उसे कॉल करें।