আমি ডোমেন ইভেন্ট হ্যান্ডলারগুলিকে ডোমেন স্তরটিতে ডোমেন ইন্টারফেস হিসাবে রাখি IDomainEventHandler
।
একটি ডোমেন ইভেন্ট হ্যান্ডলারের একটি উদাহরণ একটি নীতি যা কোনও নতুন লেনদেনের সূচনা করার জন্য নির্দিষ্ট ডোমেন ইভেন্টের গ্রাহক হয় (যেমন: একটি নতুন ডোমেন কমান্ড ট্রিগার করার জন্য), সুতরাং এটি ডোমেন স্তরটিতে থাকার কারণে এটি বোধগম্য হয় ব্যবসায়িক যুক্তি।
আমরা এমন একটি উদাহরণের কথা ভাবতে পারি যেখানে কোনও অর্ডার নিশ্চিত হয়ে গেছে এবং সুতরাং একটি চালানের অনুরোধ তৈরি করা উচিত। আমাদের একটি ঘটনা OrderConfirmedEvent
ঘটেছে। আমাদের ডোমেনের একটি নীতি এই ইভেন্টটিতে সাবস্ক্রাইব করার জন্য এবং একটি ডোমেন কমান্ড তৈরির দায়িত্বে RequestInvoice
থাকবে যা কমান্ড হ্যান্ডলার দ্বারা পরিচালিত হবে এবং সেই অনুযায়ী এটি মোকাবেলা করবে।
যদি আমাদের অ্যাপ্লিকেশন স্তরে এই ইভেন্ট হ্যান্ডলারটি থাকে তবে এর অর্থ হ'ল অ্যাপ্লিকেশন স্তরটি ব্যবহারকারীর ক্রিয়াকলাপ ছাড়াও কিছু ব্যবসায়িক যুক্তি কার্যকর করে, যা ভুল বলে মনে হয়।
তবে আমাদের আছে