কমান্ড এবং বাস যোগাযোগের একটি ইভেন্টের মধ্যে পার্থক্য আমার কাছে কিছুটা অস্পষ্ট বলে মনে হয়। আমি জানি যে কমান্ডগুলি কেবল একবারই কার্যকর করা উচিত, যখন কোনও ইভেন্ট একাধিকবার পরিচালনা করা যায়, তবে এখনও কমান্ড বা কোনও ইভেন্ট কখন ব্যবহার করবেন তা নিশ্চিত নই।
আসুন একটি উদাহরণ তাকান:
যখন কোনও নতুন ব্যবহারকারী কোনও ওয়েব অ্যাপ্লিকেশনটিতে নিবন্ধভুক্ত হন, আমাদের উচিত তার একটি অ্যাকাউন্ট তৈরি করা উচিত এবং একটি নিশ্চিতকরণ ইমেল প্রেরণ করা উচিত।
অ্যাকাউন্ট তৈরি করা - CreateUserCommandএটি বাসে একটি প্রেরণ এবং একটি বিশেষ উপাদান এটি পরিচালনা করতে সঠিক স্থান বলে মনে হচ্ছে component
অথবা এটি এমনকি একটি অ্যাসিক্রোনাস বাস যোগাযোগের মাধ্যমে প্রয়োগ করা উচিত নয়? আমরা চাই যে ব্যবহারকারী এখনই অ্যাপ্লিকেশনটিতে লগ ইন করতে সক্ষম হন। বাসের সাথে আমাদের কোনও গ্যারান্টি নেই যখন কমান্ডটি কার্যকর করা হবে।
ইমেল প্রেরণ - উপাদানটি অ্যাকাউন্ট তৈরি করার পরে আমি 2 টি সম্ভাবনা দেখতে পাচ্ছি
- বাসে আরেকটি কমান্ড প্রেরণ করুন
SendConfirmationEmailCommand - একটি ইভেন্ট প্রকাশ করুন
UserAccountCreatedEvent
এবং এর চেয়ে ইমেল প্রেরক উপাদানটিকে এটি দখল করতে এবং এটির কাজটি করতে দিন।
একদিকে আমি অবশ্যই কনফার্মেশন ইমেলটি একবারে পাঠানো উচিত (কমান্ড ব্যবহার করুন) অন্যদিকে, আমি বিশ্বাস করি সদ্য নিবন্ধিত ব্যবহারকারীদের আগ্রহী একাধিক উপাদান থাকতে পারে। একটি লগার বা সম্ভবত কোনও এসএমএস প্রেরক।
আপনি কীভাবে এটি বাস্তবায়ন করবেন?