मुझे लगता है कि लेख थोड़ा दिनांकित है क्योंकि जैसा कि मैंने पढ़ा है, यह वास्तव में एक अपरंपरागत या नया विचार नहीं है। इस विचार को एक अलग पैटर्न के रूप में प्रस्तुत किया जाता है जब यह वास्तव में सिर्फ एक साधारण पर्यवेक्षक कार्यान्वयन होता है। उस समय जो मैं कर रहा था, उसके बारे में सोचते हुए, मुझे याद है कि कुछ अलग-अलग पैनलों के साथ कुछ जटिल इंटरफेस के पीछे बैठने के लिए तर्क पर काम करना, जो कि अन्योन्याश्रित थे। उपयोगकर्ता मान बदल सकता है और / या एक अनुकूलन दिनचर्या चला सकता है और उन कार्यों के आधार पर, ऐसी घटनाओं को उत्पन्न किया गया था कि यूआई आवश्यकतानुसार सुनेंगे और अपडेट करेंगे। विकास के दौरान कई मुद्दे थे जहां कुछ पैनल को अपडेट नहीं करना चाहिए था। फिक्स (डिजाइन के भीतर रहना) अन्य घटनाओं से घटनाओं को उत्पन्न करना था। अंततः, जब तक सब कुछ सही काम कर रहा था, लगभग सभी परिवर्तनों के परिणामस्वरूप सभी पैनल ताज़ा हो गए। जब किसी दिए गए पैनल को रिफ्रेश करने की आवश्यकता होती है, तो अलग करने की कोशिश की सारी जटिलता शून्य के लिए थी। और यह वैसे भी कोई फर्क नहीं पड़ा। यह प्रभावी रूप से एक समयपूर्व अनुकूलन था। मैं समय और प्रयास की एक टन बचाया होगा बस एक ही घटना है कि सब कुछ ताज़ा में यह सब ढह कर।
"सब कुछ ठीक करें" या हर तरह से ताज़ा करने के लिए डिज़ाइन किए गए असंख्य सिस्टम हैं। उन सभी CRUD इंटरफेस के बारे में सोचें जो एक पंक्ति को जोड़ते / अद्यतन करते हैं और फिर DB की आवश्यकता होती है। यह एक विदेशी दृष्टिकोण नहीं है, यह सिर्फ स्पष्ट गैर-चालाक समाधान है। आपको महसूस करना होगा कि 2003 में, यह 'पैटर्न फीवर' की ऊंचाई थी। मैं जो बता सकता था उससे, लोगों ने सोचा कि नए पैटर्न का नामकरण उनकी प्रसिद्धि और धन के लिए होने जा रहा है। मुझे गलत मत समझो, मुझे लगता है कि एक पैटर्न की अवधारणा सार में समाधान का वर्णन करने के लिए एक अत्यंत उपयोगी है। चीजें बस तरह से बंद रेल थोड़ा चला गया। यह दुर्भाग्यपूर्ण है क्योंकि इसने सामान्य तौर पर पैटर्न की अवधारणा के बारे में बहुत अधिक सनक पैदा की। यह केवल इस संदर्भ में है कि यह 'अपरंपरागत' समाधान के रूप में इस बारे में बात करने के लिए समझ में आता है। यह ORMs या DI कंटेनरों के आसपास रूढ़िवादी के समान है। इनका उपयोग न करने को अपरंपरागत के रूप में देखा जाता है भले ही लोग इन उपकरणों के अस्तित्व में आने से बहुत पहले ही सॉफ्टवेयर का निर्माण कर रहे थे और कई मामलों में वे उपकरण ओवरकिल हो गए थे।
तो वापस 'सब कुछ ठीक'। एक सरल उदाहरण है गणना के साधनों का। सरल समाधान संख्याओं को जोड़ना और मूल्यों की कार्डिनैलिटी द्वारा विभाजित करना है। यदि आप किसी संख्या को जोड़ते या संशोधित करते हैं, तो आप इसे शुरू से ही फिर से करते हैं। आप योग और संख्याओं की संख्या पर नज़र रख सकते हैं और जब कोई संख्या जोड़ता है, तो आप गिनती बढ़ाते हैं और इसे जोड़ देते हैं। अब आप फिर से सभी नंबरों को दोबारा नहीं जोड़ रहे हैं। यदि आपने कभी एक्सेल के साथ एक सूत्र के साथ काम किया है जो एक सीमा का संदर्भ देता है और उस सीमा में एक मान को संशोधित करता है, तो आपके पास 'सब कुछ ठीक करें' पैटर्न का उदाहरण है या उस सीमा का संदर्भ देने वाले किसी भी सूत्र की परवाह किए बिना पुनर्गणना होगी। यह मान प्रासंगिक था (जैसे कि समिफ़ () जैसे कुछ का उपयोग करके)।
यह कहना नहीं है कि यह किसी संदर्भ में एक स्मार्ट विकल्प नहीं है। औसत उदाहरण में, हम कहते हैं कि हमें अब अपडेट का समर्थन करने की आवश्यकता है। अब मुझे किसी तरह पुराने मूल्य को जानना होगा और केवल डेल्टा द्वारा राशि को बदलना होगा। इनमें से कोई भी वास्तव में चुनौतीपूर्ण नहीं है जब तक कि आप वितरित या समवर्ती वातावरण में ऐसा करने की कोशिश नहीं करते। अब आपको सभी प्रकार के कांटेदार समय के मुद्दों को संभालना होगा और आप संभवतः एक बड़ी अड़चन पैदा करेंगे, जो चीजों को पुनर्गणना से कहीं अधिक धीमा कर देती है।
यहाँ पर मुख्य बात यह है कि 'सब कुछ ठीक करें' या 'सब कुछ ताज़ा करें' दृष्टिकोण सही होने के लिए बहुत आसान है। आप अधिक परिष्कृत दृष्टिकोण काम कर सकते हैं लेकिन यह बहुत अधिक जटिल है और इसलिए त्रुटिपूर्ण होने की अधिक संभावना है। बहुत सारे संदर्भों के अलावा, 'रिफ्रेश सब कुछ' दृष्टिकोण अधिक कुशल हो सकता है। उदाहरण के लिए, लेखन दृष्टिकोण पर प्रतिलिपि आम तौर पर एकल-थ्रेडेड दृष्टिकोण के लिए धीमी होती है लेकिन जब आपके पास उच्च संगामिति होती है, तो यह आपको ताले से बचने की अनुमति दे सकता है और इसलिए बेहतर प्रदर्शन प्रदान करता है। अन्य मामलों में, यह आपको कुशल तरीके से एक साथ परिवर्तनों को बैचने की अनुमति दे सकता है। तो ज्यादातर समस्याओं के लिए, आप शायद एक ताज़ा सब कुछ दृष्टिकोण के साथ शुरू करना चाहते हैं जब तक कि आपके पास एक विशिष्ट कारण नहीं है कि आप ऐसा क्यों नहीं कर सकते हैं और फिर एक बार जब आप की आवश्यकता होती है तो कुछ और अधिक जटिल करने के बारे में चिंता करें।