मैं डोमेन इवेंट हैंडलर को डोमेन इंटरफ़ेस के रूप में डोमेन लेयर में रखता हूँ IDomainEventHandler
।
एक डोमेन ईवेंट हैंडलर का एक उदाहरण एक नीति है जो एक नए लेनदेन को आरंभ करने के लिए कुछ डोमेन ईवेंट की सदस्यता लेता है (उदाहरण के लिए: नए डोमेन कमांड को ट्रिगर करने के लिए), इसलिए इसका मतलब डोमेन परत में है क्योंकि यह संबंधित है व्यापार का तर्क।
हम एक उदाहरण के बारे में सोच सकते हैं जहां एक आदेश की पुष्टि की जाती है और इसलिए एक चालान अनुरोध बनाया जाना चाहिए। हमारे पास एक घटना OrderConfirmedEvent
हुई है। हमारे डोमेन में एक नीति इस घटना की सदस्यता लेने और एक डोमेन कमांड बनाने के लिए RequestInvoice
होगी जो कमांड हैंडलर द्वारा संभाला जाएगा और उसके अनुसार निपटा जाएगा।
अगर हमारे पास एप्लिकेशन लेयर में यह ईवेंट हैंडलर है, तो इसका मतलब यह होगा कि एप्लिकेशन लेयर, उपयोगकर्ता के कार्यों को ऑर्केस्ट्रेट करने के अलावा, कुछ व्यावसायिक लॉजिक को निष्पादित करेगा, जो गलत लगता है।
हालाँकि हमारे पास है