मैं काफी समय से Grails का अध्ययन कर रहा हूं। और फ़िल्टर और इंटरसेप्टर के बारे में थोड़ा सा स्कैन किया। दोनों सत्रों को ट्रैक करने या किसी विशेष नियंत्रक में अनधिकृत उपयोगकर्ताओं को पुनर्निर्देशित करने की लगभग समान कार्यक्षमता रखते हैं।Grails फ़िल्टर बनाम इंटरसेप्टर
लेकिन मैं उलझन में हूं कि मुझे फ़िल्टर और इंटरसेप्टर से फ़िल्टर का उपयोग क्यों करना चाहिए और इसके विपरीत। यह देखते हुए कि इंसेप्टर्स के पास दो नियंत्रक विधियां beforeInterceptor
और afterInterceptor
और फ़िल्टर के लिए तीन सामान्य बंद before
, after
और afterView
हैं।
मेरे प्रश्न यह है कि इंटरसेप्टर या इसके विपरीत फ़िल्टर के उपयोग के पेशेवर और विपक्ष क्या हैं। इस तरह, डेवलपर्स, तय कर सकते हैं कि कुछ ट्रैकिंग, रीडायरेक्ट आदि करने के लिए हमें किसी विशेष नियंत्रक में फ़िल्टर या इंटरसेप्टर का उपयोग क्यों करना चाहिए।
मुझे लगता है। लेकिन क्या आप समान अवरोध तर्क रखने के लिए एक सार नियंत्रक नहीं बना सकते हैं और यह नियंत्रक अन्य सभी नियंत्रकों के माता-पिता होने दें? हम किस उदाहरण पर कह सकते हैं कि हमें इसके बाद 'फ़िल्टर' के बंद होने पर 'फ़िल्टर' द्वारा घोषित फ़िल्टरिंग तर्क की आवश्यकता है? –
और फिर आपको थोड़ा अलग तर्क की आवश्यकता होगी, इसलिए एक और सार नियंत्रक बनाने की आवश्यकता है। फ़िल्टर आपको एक ही स्थान पर कोड को ध्यान में रखने में मदद कर सकते हैं और उन निर्भरताओं को छोड़ सकते हैं जिनकी आपको वास्तव में आवश्यकता नहीं है। –