এটি একটি পুরানো পোস্ট তবে যাইহোক আমি চিমিয়ে যাচ্ছি কারণ অন্য উত্তরগুলি যে কোনও প্যাটার্ন ব্যবহার করার সময় কী ঘটছে তা মোকাবেলা করে না, তারা অনুশীলনের চেয়ে তত্ত্ব সম্পর্কে আরও বেশি বলে মনে হয়।
প্রতিনিধি এবং পর্যবেক্ষক কীভাবে কাজ করেন
প্রতিনিধি দলের সাথে সম্ভাব্য ইভেন্টের উত্স তৈরি হওয়ার মুহূর্তে নির্দিষ্ট ইভেন্টে কে প্রতিক্রিয়া জানাতে চলেছে ঠিক সেটিকে বেছে নেয়। আপনি এই শ্রোতাকে একক পর্যবেক্ষক হিসাবে ভাবতে পারেন । পর্যবেক্ষক প্যাটার্নের ক্ষেত্রে পর্যবেক্ষক যখনই এটির মতো অনুভূত হয় তখন পর্যবেক্ষকরা এটি পর্যবেক্ষণ করছেন; সুতরাং যখন পর্যবেক্ষক বনাম প্রতিনিধিদের কথা আসে তখন নির্ভরতাগুলি বিপরীত হয়। পর্যবেক্ষক ধাঁচের সাথে কোনও সংবাদপত্র এবং গ্রাহকগণকে পর্যবেক্ষক হিসাবে ভাবেন। সম্পর্ক কখন তৈরি হবে তা পর্যবেক্ষকরা নিয়ন্ত্রণে রাখেন। প্রতিনিধিদলের সাথে একজন কর্মচারী এবং একজন নিয়োগকর্তার কথা ভাবেন। কখন সম্পর্কটি তৈরি হয় এবং নির্দিষ্ট ইভেন্টগুলির দায়িত্বে নিখুঁত দায়িত্বে থাকে তা নিয়োগকর্তার নিয়ন্ত্রণে থাকে। কর্মীরা সাধারণত কোন কাজগুলিতে তারা কাজ করছে তা চয়ন করতে পারে না।
কিছু যুক্তিযুক্ত প্রতিনিধিদলের একজন পর্যবেক্ষক থাকতে পারে তবে আমি মনে করি যে ইভেন্ট হ্যান্ডলিংকে কীভাবে নির্ধারিত করা হয়েছে তা উভয়ের মধ্যে প্রকৃত পার্থক্য। আপনি কোনও ইভেন্টের জন্য কোনও প্রতিনিধি নিবন্ধ দেখতে পাবেন না। এটি ঘটবে না এমন পর্যন্ত ইভেন্টটি পরিচালনা করা এটি কখনই জানতে পারবে না এবং প্রতিনিধি এতে একটি সরকারী পদ্ধতি কল করে।
প্রতিনিধি উপকার
এই নিদর্শনটি অত্যন্ত অনমনীয় এবং বেশিরভাগ নিয়মিত নকশার সাথে এর সহজ এবং সাধারণভাবে আরও শক্তিশালী। এটি আপনাকে সম্ভাব্য ইভেন্টের উত্স সূচনা করার সময় আপনার ইভেন্ট হ্যান্ডলারটি সামনে ঘোষণা করতে বাধ্য করে। আপনার যদি ট্র্যাফিকের জন্য কাউকে প্রয়োজন হয় তবে আপনি রাস্তায় খোলার আগে ট্র্যাফিক ডিরেক্টরকে নিয়োগ করুন assign পর্যবেক্ষকের ক্ষেত্রে আপনি ট্র্যাফিক পুলিশকে পছন্দ করতে দিতেন যে কখন যে কোনও সময় ট্র্যাফিকের নির্দেশনা দিতে হবে সে যখন সে পছন্দ করেছে felt
প্রতিনিধি অসুবিধা
এই নকশার অসুবিধা হ'ল এটি নমনীয় নয়। আপনি যদি কোনও পত্রিকার সাবস্ক্রাইব করার জন্য কিছু কোড প্রয়োগ করে থাকেন তবে সংবাদপত্র / প্রতিনিধিরা তাদের দ্বিতীয়বার তৈরি হওয়া নিউজ স্টোরিটি ঠিক কে পড়তে পারে তা সনাক্ত করতে হবে। পর্যবেক্ষক প্যাটার্ন দিয়ে এগুলি যে কোনও সময়ে নিবন্ধিত হতে পারে এবং সংবাদপত্রটি কেবলমাত্র জানতে হবে যে কোনও নতুন ব্যক্তি সাইন আপ করেছেন।
ডেলিগেশন কখন নির্বাচন করবেন?
যখন আপনার অবশ্যই কোনও নির্দিষ্ট পর্যবেক্ষকের প্রয়োজন হয় এবং কারা পর্যবেক্ষণ করছেন তা পরিবর্তনের কোনও কারণ নেই তবে প্রতিনিধি দলের প্যাটার্নের অনমনীয় নকশাটি উপকারী হবে।
উদাহরণস্বরূপ, নির্দিষ্ট ত্রুটির জন্য পপ-আপ তৈরি করতে আপনার কোনও শ্রেণি / অবজেক্টের প্রয়োজন। রান-টাইমে আপনাকে কোনও নির্দিষ্ট ত্রুটি কে পরিচালনা করছে তা পরিবর্তন করার প্রয়োজন হবে এমন অনেকগুলি কারণ নেই কারণ "মেমরির আউট-অফ স্মৃতি" ত্রুটিটি একটি একক সত্তায় অর্পণ করা অর্থপূর্ণ হবে। সম্ভাব্য হ্যান্ডলারের একটি অ্যারে তৈরি করা এবং তারপরে সেই হ্যান্ডলারগুলিকে "আউট অফ মেমরি" ত্রুটির জন্য নিবন্ধভুক্ত করা খুব বেশি অর্থবোধ করে না; এই পরিস্থিতিতে পর্যবেক্ষক প্যাটার্ন ব্যবহার করার উদাহরণ হতে পারে। রান-টাইমে আপনি কী পদ্ধতিগুলি কল করতে চান বা "ডেলিগেট" কে পরিবর্তনশীল ইভেন্টগুলির জন্য ডাকা হয় তা পরিবর্তন করতে চান তবে রান-টাইমে কোনও নির্দিষ্ট ইভেন্টের জন্য ইভেন্ট হ্যান্ডলারকে সরিয়ে নেওয়া স্বাভাবিক নয়।
আপনি যেমন পর্যবেক্ষক প্যাটার্নে করতেন তেমন প্রতিনিধিদের অদলবদল করা অসম্ভব, এটি কেবল জটিল। প্রকৃত বিশ্বে সম্ভবত আপনি ট্র্যাফিক পুলিশগুলিকে অদলবদল করতে চান যাতে নতুন প্রতিনিধি ট্রাফিক পরিচালনা করে। যে কেউ তর্ক করতে পারে যে আরও ভাল ডিজাইনটি মূল পুলিশ প্রতিনিধিকে একটি থানা তৈরি করবে এবং একক পুলিশ অফিসার নয় বরং আমি ডিগ্রি করি ...