আমি কিছুটা আনন্দিত যে এখানে সমস্ত উত্তর পর্যবেক্ষক এবং পাব / সাব নিদর্শনগুলির মধ্যে সূক্ষ্ম পার্থক্য ব্যাখ্যা করার চেষ্টা করছিল কোনও ठोस উদাহরণ না দিয়ে। আমি বাজি ধরছি বেশিরভাগ পাঠক এখনও প্রতিটি জেনে নিচ্ছেন না যে কীভাবে একটি পড়ার মাধ্যমে প্রত্যেকে কার্যকর করা যায় তা একটি সিনক্রোনাস এবং অন্যটি অ্যাসিনক্রোনাস।
একটি বিষয় লক্ষণীয়: এই নিদর্শনগুলির লক্ষ্য কোডটি ডিকুয়াল করার চেষ্টা করছে
পর্যবেক্ষক হ'ল একটি নকশার প্যাটার্ন যেখানে কোনও বস্তু (বিষয় হিসাবে পরিচিত) তার উপর নির্ভর করে (পর্যবেক্ষক) অবজেক্টের একটি তালিকা বজায় রাখে এবং স্বয়ংক্রিয়ভাবে রাষ্ট্রের কোনও পরিবর্তন সম্পর্কে তাদের অবহিত করে।
পর্যবেক্ষক নিদর্শন
এর অর্থ observable objectএটির একটি তালিকা রয়েছে যেখানে এটি তার সমস্ত observers(যা সাধারণত কার্যকরী হয়) রাখে । এবং এই তালিকাটি অতিক্রম করতে পারে এবং যখন এটি একটি ভাল সময় অনুভব করে তখন এই ক্রিয়াকলাপগুলি শুরু করতে পারে।
দেখতে এই পর্যবেক্ষক প্যাটার্ন বিস্তারিত জানার জন্য উদাহরণ।
এই প্যাটার্নটি ভাল যখন আপনি কোনও অবজেক্টে কোনও ডেটা পরিবর্তনের জন্য শুনতে চান এবং অনুরূপে অন্যান্য ইউআই ভিউগুলি আপডেট করতে চান।
তবে কনস অব অবজার্ভেবল কেবল পর্যবেক্ষক রাখার জন্য একটি অ্যারে বজায় রাখে
(উদাহরণস্বরূপ, অ্যারেটি হয় observersList)।
আপডেটটি কীভাবে ট্রিগার হয় তা আলাদা করে না কারণ এটির মধ্যে কেবল একটি রয়েছে notify function যা এই অ্যারেতে সঞ্চিত সমস্ত ক্রিয়াকলাপকে ট্রিগার করে।
আমরা যদি বিভিন্ন ইভেন্টের উপর ভিত্তি করে গ্রুপ পর্যবেক্ষক হ্যান্ডলারগুলি করতে চাই। আমাদের কেবল এটির মতো observersListএকটি পরিবর্তন করতে হবেObject
var events = {
"event1": [handler1, handler2],
"event2": [handler3]
}
দেখতে এই pubsub উদাহরণ বিস্তারিত জানার জন্য।
এবং লোকেরা এই প্রকরণটিকে হিসাবে ডাকে pub/sub। সুতরাং আপনি eventsপ্রকাশিত উপর ভিত্তি করে আপনি বিভিন্ন ফাংশন ট্রিগার করতে পারেন ।