DDD में आवेदन कार्यक्रम?
यह प्रश्न समान है: क्या डीडीडी में एप्लिकेशन इवेंट अवधि मौजूद है? , लेकिन मुझे नहीं पता कि मेरे विशिष्ट मुद्दे पर वहां दिए गए स्पष्टीकरण को कैसे लागू किया जाए।
मेरे पास एक है SearchFilmUseCase
और मैं एक घटना को उठाना चाहता हूं एक FilmSearchedEvent
बार जब वह इसका निष्पादन पूरा कर लेता है। वर्तमान में, एप्लिकेशन परत घटना को बढ़ा रही है। एकमात्र तरीका जिससे मैं इस ईवेंट को डोमेन से उठा सका, वह है FilmRepository
। हालाँकि, रिपॉजिटरी केवल एक इंटरफ़ेस है, इसलिए मैं वहां किसी भी घटना को नहीं बढ़ा सकता।
मुझे लगता है कि अनुप्रयोग स्तर पर घटना को उठाना सही नहीं है। मैं इस स्थिति से कैसे संपर्क कर सकता हूं?
जवाब
एक समाधान खोज करने और घटना को बढ़ाने के लिए एक डोमेन सेवा बनाने के लिए हो सकता है।
सभी डोमेन ईवेंट को डोमेन लेयर से उठाया जाना चाहिए। सबसे अच्छी जगह एक समग्र जड़ है जहां कार्रवाई वास्तव में की जानी चाहिए। कुल रूट में वे सभी डोमेन ईवेंट हो सकते हैं जो उठाए गए हैं, और एप्लिकेशन लेयर में आप उन्हें प्राप्त कर सकते हैं और उन्हें इवेंट बस में प्रकाशित कर सकते हैं।