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