অ্যাডাপ্টার প্যাটার্ন এবং প্রক্সি প্যাটার্নের মধ্যে পার্থক্য?


33

যতদূর বুঝতে পারা যায় , অ্যাডাপ্টার প্যাটার্নটি আমাদের আসল আগ্রহের বিষয়টির জন্য একটি মোড়কের বস্তু তৈরি করছে, কেবল আরও এক মাত্রার ইন্ডিরিয়ারেশন যা নমনীয়তা সরবরাহ করে। এতে নমনীয়তা থাকে, যদি আসল অবজেক্টের ইন্টারফেস পরিবর্তন করা হয়, তবে আমরা ক্লায়েন্ট-সাইড এক্সপ্রেস ইন্টারফেসটি অপরিবর্তিত রেখে রিয়েল ইন্টারফেসটিকে আসল অবজেক্টের দিকে নির্দেশ করি।

প্রক্সি প্যাটার্ন পার্থক্য যে প্রতি প্রক্সি মোড়কের বাস্তব বস্তুর কার্যকারিতা শুধুমাত্র একটি সুসঙ্গত উপসেট প্রদান করে সঙ্গে, একই। কেন এটি কার্যকর হবে, যখন আমরা "এক উদ্দেশ্যে একটি শ্রেণি" করার চেষ্টা করি তা আমার বাইরে।

আমি কি এটি সঠিকভাবে পেয়েছি?

উত্তর:


55

না সম্পূর্ণরূপে.

অ্যাডাপ্টার প্যাটার্নটির প্রাথমিক উদ্দেশ্য ক্লাস / লাইব্রেরি এ এর ​​ইন্টারফেসটি ক্লায়েন্ট বি এর প্রত্যাশায় পরিবর্তন করা typ সাধারণ বাস্তবায়নটি একটি র‌্যাপার ক্লাস বা ক্লাসের সেট। উদ্দেশ্যটি ভবিষ্যতের ইন্টারফেস পরিবর্তনের সুবিধার্থে নয়, তবে বর্তমান ইন্টারফেসের অসম্পূর্ণতা।

প্রক্সি প্যাটার্ন এছাড়াও রাপার শ্রেনীর ব্যবহার করে, কিন্তু একটি ভিন্ন উদ্দেশ্যে। প্রক্সি প্যাটার্নের উদ্দেশ্য হ'ল আসল সংস্থার জন্য একটি স্ট্যান্ড-ইন তৈরি করা। প্রক্সি ব্যবহারের কারণ হতে পারে

  • আসল রিসোর্সটি রিমোট কম্পিউটারে থাকে (প্রক্সিটি রিমোট রিসোর্সের সাথে ইন্টারঅ্যাকশনকে সহায়তা করে)
  • আসল সংস্থান তৈরি করা ব্যয়বহুল (প্রক্সিটি নিশ্চিত করে যে সত্যিকার প্রয়োজন না হওয়া পর্যন্ত ব্যয় ব্যয় হয় না)

সর্বাধিক গুরুত্বপূর্ণ বিষয় হ'ল প্রক্সি এটির জন্য থাকা প্রকৃত সংস্থানটির জন্য একটি ড্রপ-ইন প্রতিস্থাপন সরবরাহ করে, সুতরাং এটি অবশ্যই একই ইন্টারফেস সরবরাহ করবে।


সবার আগে, দুর্দান্ত উত্তরের জন্য ধন্যবাদ। একটি প্রক্সি বর্তমান ক্লায়েন্টের প্রয়োজনীয় সমস্ত ইন্টারফেস বাস্তবায়ন করে, বা এটি প্রকৃত সংস্থান সরবরাহ করে এমন সমস্ত ইন্টারফেস প্রয়োগ করে?
ভোরাক

1
@ ভোরাক: এটি ইন্টারফেসের জটিলতা এবং আপনার নকশা দর্শনের উপর নির্ভর করে। উভয়ই সম্ভব, তবে যদি ইন্টারফেসটি বড় / জটিল হয় বা আপনি YAGNI তে দৃ strongly়ভাবে বিশ্বাস করেন, তবে কেবল আপনার যা প্রয়োজন তা বাস্তবায়িত করার বিষয়টি আরও বোধগম্য।
বার্ট ভ্যান ইনজেন শেেনা

সুতরাং, অ্যাডাপ্টার প্যাটার্নটি মোড়ক ক্লাস ব্যবহার করে, অ্যাডাপ্টার প্যাটার্নটি কি প্রক্সি প্যাটার্ন?
moonman239

@ মুনম্যান 239: না, কারণ একটি র‌্যাপার ক্লাস ব্যবহারের উদ্দেশ্যটি ভিন্ন। ক্লাস ডায়াগ্রামে দুটি নিদর্শন একইরকম দেখায় তার অর্থ এই নয় যে তারা একে অপরের সাথে সম্পর্কিত বা বাস্তবায়ন করেছে। নিদর্শনগুলি আলাদা হওয়ার একটি প্রধান কারণ হ'ল তাদের উদ্দেশ্য।
বার্ট ভ্যান ইনজেন শেেনা

5

আমি এই ব্যাখ্যা পছন্দ:

প্রক্সি পরিষেবার আচরণ পরিবর্তন করে তবে এর ইন্টারফেসটি সংরক্ষণ করে।

অ্যাডাপ্টার পরিষেবাটির ইন্টারফেস পরিবর্তন করে তবে এটি আচরণ সংরক্ষণ করে।

উত্স: https://www.netobjectives.com/PatternRepository/index.php?title=AdapterVersusProxyVersusFacadePatternCompistance

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.