"বার্তা পাসিং" এবং "ইভেন্ট ভিত্তিক" এর মধ্যে বেশিরভাগ বিভ্রান্তির সাথে স্থাপত্য বনাম বাস্তবায়ন সম্পর্কিত বিবরণ রয়েছে। আমি ইভেন্ট চালিত সিস্টেমগুলি (এবং লিখিত) দেখেছি যা তাদের বাস্তবায়নের জন্য ওএস সরবরাহকারী বার্তাগুলি ব্যবহার করে। আমি অনুমান করছি আপনি সত্যিই স্থাপত্যের ধারণাগুলির উল্লেখ করছেন।
যেহেতু অনেক লোক ইতিমধ্যে "বার্তা পাসিং" এবং "ইভেন্ট ভিত্তিক" অস্পষ্টতা এড়ানোর পক্ষে যথেষ্ট ভাল শর্ত নয়।
"ইভেন্ট ভিত্তিক" সিস্টেম বনাম "বার্তা পাসিং" সিস্টেমের আপেক্ষিক গুণাবলী কী।
বার্তা পাসিং
আমি অনুমান করেই শুরু করতে যাচ্ছি যে আপনি যখন "বার্তা প্রেরণ" সিস্টেমটি বলবেন, আপনি এমন একটি সিস্টেমের বিষয়ে কথা বলছেন যা একটি অবজেক্ট একটি নির্দিষ্ট অন্যান্য বস্তুর জন্য একটি বার্তা ব্যয় করে। যখন আমি এই দৃষ্টান্তের উপর ভিত্তি করে একটি সিস্টেমের কথা ভাবি, আমি আরও সাধারণত এমন একটি সিস্টেমের কথা ভাবি যেখানে কোনও জিনিস যা সনাক্ত করে এমন একটি অবজেক্ট জানে যে কোন কিছুর বিষয়ে বলা দরকার needs (আমি এটি কীভাবে জানি তা নির্দিষ্ট করে দিচ্ছি না, এটি কেবল এটি জানে))
এই ধরণের আর্কিটেকচার সিস্টেমগুলির জন্য খুব ভাল যেখানে উত্পাদনকারী এবং গ্রাহকরা সুপরিচিত। হয় কোনও বার্তার নির্মাতা জানেন যে এটি অবশ্যই গ্রহণ করতে হবে, বা গ্রাহককে অবশ্যই জানাবেন যে কে এই বার্তাটি পাবেন।
আপনি যদি কোনও ব্যাঙ্কিং অ্যাপ্লিকেশন লিখছেন তবে একজন আশা করবেন যে আপনি সত্যিই আপনি জানতে চান আপনি আপনার লেনদেন কার কাছে পাঠাচ্ছেন এবং কারা আসছে।
ইভেন্ট ভিত্তিক
আমি বিশ্বাস করি যে অন্য সিস্টেমটি আপনি যখন "ইভেন্ট ভিত্তিক" সিস্টেমটি বলার বিষয়ে ভাবছেন তখন এমন কোনও বিষয় যেখানে কোনও (যদি কেউ) এর প্রতিক্রিয়া জানবে না জেনে কোনও বস্তু একটি "ইভেন্ট" উত্থাপন করে।
এই ধরণের ইভেন্ট চালিত আর্কিটেকচার এমন সিস্টেমে খুব ভাল যেখানে প্রযোজক কে ইভেন্টটি গ্রাহ্য করে বা যেখানে গ্রাহকরা ইভেন্টটি কে উত্পাদন করেছিল সে সম্পর্কে সত্যই যত্নশীল নয়।
সাধারণভাবে, এই সিস্টেমগুলি দুর্দান্ত যেখানে আপনি গ্রাহকগণ এবং উত্পাদকদের মধ্যে সম্পর্ক জানেন না এবং যেখানে সম্পর্কটি গতিশীল হওয়ার আশা করছেন।
আমি এটি ব্যবহার করেছিলাম এমন একটি সিস্টেম হ'ল অ্যাপ্লিকেশনটি আসলে গতিসম্পন্ন কনফিগার করা মডিউলগুলি (প্লাগইনগুলি) যা রান সময় লোড হয়েছিল of যখন কোনও মডিউল লোড করা হত, এটি তার যত্ন নেওয়া ইভেন্টগুলির জন্য নিবন্ধভুক্ত করবে। ফলাফলটি এমন একটি সিস্টেম ছিল যাতে কার্যকারিতা বাড়ানো খুব সহজ ছিল।
উদাহরণস্বরূপ, চলুন শর্তটি একটি উত্থাপিত ইভেন্ট EA বলা যাক যা সাধারণত প্রতিক্রিয়া RA এর কারণ করে। প্রতিক্রিয়া আরএর কারণ হিসাবে তৈরি হওয়া অবজেক্টটি কেবল ইভেন্ট ইএ প্রাপ্তির জন্য নিবন্ধভুক্ত হয়েছিল এবং এটি পৌঁছে যাওয়ার পরে এটিতে অভিনয় করেছিল। এখন, ধরা যাক আমরা EA তে একটি নতুন প্রতিক্রিয়া যুক্ত করতে চাই, যার নাম র্যাপার্স called এটি করার জন্য, আমরা কেবলমাত্র একটি নতুন অবজেক্ট যুক্ত করি যা ইএর জন্য সন্ধান করে এবং প্রতিক্রিয়া উত্পন্ন করে তুলবে A_1
এখানে কয়েকটি উদাহরণ দেওয়া হয়েছে (আপনার পরিভাষা ব্যবহার করে):
- "বার্তা উত্তীর্ণ" : আপনার বস আপনাকে আপনার সময় পত্রক পূরণ করতে বলে।
- "ইভেন্ট চালিত" : বিভাগ সচিব প্রত্যেককে একটি ইমেল প্রেরণ করে তাদের স্মরণ করিয়ে দেয় যে তাদের সময় পত্রিকা আজই নির্ধারিত due