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