चूंकि आपने "CQRS" के साथ अपने प्रश्न को टैग किया था, इसलिए मुझे लगता है कि आप "CQRS & Event Sourcing" संदर्भ में घटनाओं का मतलब है, जैसे कि यह यहाँ वर्णित है । में इस ट्यूटोरियल , घटनाओं और आदेशों के बीच का अंतर अच्छी तरह से समझाया गया है:
ईवेंट आपके सिस्टम में प्राथमिक "चीजों को जो" हो सकता है, को सिस्टम के दृष्टिकोण से कैप्चर करते हैं।
कमांड को परिभाषित किया जाता है कि उपयोगकर्ता अपने दृष्टिकोण से, ऑपरेशन के रूप में क्या मानता है
और यद्यपि यह अक्सर 1: 1 पत्राचार के साथ कुछ आदेशों और घटनाओं की ओर जाता है, ये अलग-अलग दृष्टिकोण, कमांड के मापदंडों के आधार पर उन आदेशों को जन्म दे सकते हैं जो एक से अधिक घटनाओं, या विभिन्न घटनाओं में आग लगाते हैं। मैं उन मामलों की भी कल्पना कर सकता हूं जहां एक कमांड किसी घटना को बिल्कुल भी नहीं बढ़ाती है, लेकिन यह एक बहुत ही असाधारण मामला होगा, न कि बहुत ही विशिष्ट।
उदाहरण के लिए, ट्यूटोरियल घटनाओं का उल्लेख करता है
- TabOpened
- DrinksOrdered
- FoodOrdered
और आज्ञा देता है
यहां, कमांड "ओपनटैब" एक इवेंट "टैबऑनडेन" की ओर ले जाएगा, लेकिन कमांड प्लेसऑडर को इवेंट "ड्रिंक्सऑर्डेड", "फूडऑर्डेड", या दोनों की ओर ले जाएगा।
वास्तव में, यदि आप एक नई प्रणाली "स्क्रैच से" डिजाइन कर रहे हैं, तो आप इसे कमांड और घटनाओं के बीच 1: 1 पत्राचार के साथ डिजाइन करने का प्रयास कर सकते हैं और देख सकते हैं कि सिस्टम कितना बड़ा हो गया है। तुम भी एक संकर दृष्टिकोण की कोशिश कर सकते हैं: घटनाओं की एक सूची और 1: 1 पत्राचार के साथ कुछ अतिरिक्त, संयुक्त आदेशों के साथ आदेश। बस कोशिश करें कि आपके द्वारा डिज़ाइन किए जा रहे विशेष सिस्टम के लिए आप कितनी दूर जाते हैं।