TIP
यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
इवेंट फ़्लो
FlowEngine में, इंटरफ़ेस के सभी घटक इवेंट-ड्रिवन होते हैं।
घटकों का व्यवहार, उनकी परस्पर क्रिया और डेटा में बदलाव इवेंट्स द्वारा ट्रिगर होते हैं और फ़्लो के माध्यम से निष्पादित होते हैं।
स्टैटिक फ़्लो बनाम डायनामिक फ़्लो
FlowEngine में, फ़्लो को दो प्रकारों में बांटा जा सकता है:
1. स्टैटिक फ़्लो
- डेवलपर्स द्वारा कोड में परिभाषित किया जाता है;
- किसी मॉडल क्लास के सभी इंस्टेंस पर लागू होता है;
- अक्सर किसी मॉडल क्लास के सामान्य लॉजिक को संभालने के लिए उपयोग किया जाता है;
2. डायनामिक फ़्लो
- यूज़र्स द्वारा इंटरफ़ेस पर कॉन्फ़िगर किया जाता है;
- केवल किसी विशिष्ट इंस्टेंस पर प्रभावी होता है;
- अक्सर विशिष्ट परिदृश्यों में व्यक्तिगत व्यवहार के लिए उपयोग किया जाता है;
संक्षेप में: एक स्टैटिक फ़्लो क्लास पर परिभाषित एक लॉजिक टेम्पलेट है, जबकि एक डायनामिक फ़्लो इंस्टेंस पर परिभाषित व्यक्तिगत लॉजिक है।
लिंकेज नियम बनाम डायनामिक फ़्लो
FlowEngine के कॉन्फ़िगरेशन सिस्टम में, इवेंट लॉजिक को लागू करने के दो तरीके हैं:
1. लिंकेज नियम
- बिल्ट-इन इवेंट फ़्लो स्टेप्स का एक एनकैप्सुलेशन हैं;
- कॉन्फ़िगर करना आसान है और अधिक सिमेंटिक हैं;
- मूल रूप से, वे अभी भी एक इवेंट फ़्लो की एक सरलीकृत विधि हैं।
2. डायनामिक फ़्लो
- पूर्ण फ़्लो कॉन्फ़िगरेशन क्षमताएँ;
- अनुकूलन योग्य:
- ट्रिगर (on): परिभाषित करता है कि कब ट्रिगर करना है;
- निष्पादन स्टेप्स (steps): निष्पादित होने वाले लॉजिक को परिभाषित करता है;
- अधिक जटिल और लचीले व्यावसायिक लॉजिक के लिए उपयुक्त है।
इसलिए, लिंकेज नियम ≈ सरलीकृत इवेंट फ़्लो, और उनकी मुख्य कार्यप्रणाली सुसंगत है।
FlowAction की सुसंगतता
चाहे लिंकेज नियम हों या इवेंट फ़्लो, दोनों को FlowAction के एक ही सेट का उपयोग करना चाहिए।
इसका मतलब है कि:
- FlowAction उन क्रियाओं को परिभाषित करता है जिन्हें एक फ़्लो द्वारा कॉल किया जा सकता है;
- दोनों एक ही एक्शन सिस्टम साझा करते हैं, बजाय इसके कि दो अलग-अलग सिस्टम लागू किए जाएँ;
- यह सुनिश्चित करता है कि लॉजिक का पुन: उपयोग और सुसंगत विस्तार हो।
अवधारणात्मक पदानुक्रम
अवधारणात्मक रूप से, FlowModel का मुख्य अमूर्त संबंध इस प्रकार है:
FlowModel
└── FlowDefinition
├── FlowEventDefinition
│ ├── वैश्विक इवेंट्स (Global Events)
│ └── स्थानीय इवेंट्स (Local Events)
└── FlowActionDefinition
├── वैश्विक क्रियाएँ (Global Actions)
└── स्थानीय क्रियाएँ (Local Actions)
पदानुक्रम का विवरण
-
FlowModel
एक मॉडल इकाई का प्रतिनिधित्व करता है जिसमें कॉन्फ़िगर करने योग्य और निष्पादन योग्य फ़्लो लॉजिक होता है।
-
FlowDefinition
फ़्लो लॉजिक का एक पूरा सेट परिभाषित करता है (जिसमें ट्रिगर की शर्तें और निष्पादन स्टेप्स शामिल हैं)।
-
FlowEventDefinition
फ़्लो के ट्रिगर स्रोत को परिभाषित करता है, जिसमें शामिल हैं:
- वैश्विक इवेंट्स: जैसे एप्लिकेशन का शुरू होना, डेटा लोड होना पूरा होना;
- स्थानीय इवेंट्स: जैसे फ़ील्ड में बदलाव, बटन पर क्लिक।
-
FlowActionDefinition
फ़्लो की निष्पादन योग्य क्रियाओं को परिभाषित करता है, जिसमें शामिल हैं:
- वैश्विक क्रियाएँ: जैसे पेज को रीफ़्रेश करना, वैश्विक सूचनाएँ;
- स्थानीय क्रियाएँ: जैसे फ़ील्ड मानों को संशोधित करना, घटक की स्थिति बदलना।
सारांश
| अवधारणा | उद्देश्य | दायरा |
|---|
| स्टैटिक फ़्लो (Static Flow) | कोड में परिभाषित फ़्लो लॉजिक | XXModel के सभी इंस्टेंस |
| डायनामिक फ़्लो (Dynamic Flow) | इंटरफ़ेस पर परिभाषित फ़्लो लॉजिक | एक एकल FlowModel इंस्टेंस |
| FlowEvent | ट्रिगर को परिभाषित करता है (कब ट्रिगर करना है) | वैश्विक या स्थानीय |
| FlowAction | निष्पादन लॉजिक को परिभाषित करता है | वैश्विक या स्थानीय |
| लिंकेज नियम (Linkage Rule) | इवेंट फ़्लो स्टेप्स का सरलीकृत एनकैप्सुलेशन | ब्लॉक, एक्शन स्तर |