फ़्लुएंट सत्यापन समर्पित सत्यापनकर्ता वस्तुओं को स्थापित करने का एक तरीका है, जिसका उपयोग आप सत्यापन तर्क से अलग होने के रूप में सत्यापन तर्क का इलाज करना चाहते हैं। पहलू उन्मुख प्रोग्रामिंग (एओपी) प्रतिमान एक प्रणाली के भीतर क्रॉस-कटिंग चिंताओं को अलग करने में सक्षम बनाता है, और सत्यापन एक ऐसी चिंता है। सत्यापन को अलग करने से आपके डोमेन कोड को साफ करने में मदद मिलती है और इसे अधिक समेकित बना दिया जाता है, साथ ही आपको सत्यापन तर्क देखने के लिए एक ही स्थान प्रदान करने में मदद मिलती है।
एमवीसी एनोटेशन-संचालित प्रमाणीकरण समर्पित सत्यापनकर्ता वस्तुओं को बनाने की परेशानी के बिना, एक प्रमाणीकरण प्रणाली बनाने, जो उन्हें व्यवस्थित करता है और इसे एक साथ प्लग करने के बिना किसी एप्लिकेशन में कुछ बुनियादी सत्यापन प्राप्त करने का एक बहुत ही सस्ता तरीका है। इसे स्थापित करना बहुत आसान है, लेकिन आपके डोमेन ऑब्जेक्ट्स को कम साफ कर सकता है।
छोटी प्रणालियों के लिए जहां सभी सत्यापन तर्क एनोटेशन का उपयोग करके संभाला जा सकता है, मैं केवल एनोटेशन का उपयोग करने की सलाह दूंगा, क्योंकि वे सेट अप करना बहुत आसान हैं। बड़े, अधिक जटिल प्रणालियों के लिए, मैं सत्यापनकर्ता वस्तुओं का उपयोग करके सत्यापन चिंता को अलग करने की अनुशंसा करता हूं।
मैं व्यक्तिगत रूप से दोनों दृष्टिकोणों का उपयोग करना पसंद करता हूं: व्यूमोडेल कक्षाओं में सत्यापन गुण जोड़ें (जिसका अर्थ है कि टिप्पणियां मेरे डोमेन ऑब्जेक्ट्स को अव्यवस्थित नहीं करती हैं), साथ ही साथ मेरे डोमेन परत में समर्पित सत्यापनकर्ता ऑब्जेक्ट्स भी शामिल हैं। यह डुप्लिकेशंस की एक छोटी राशि है, लेकिन एनोटेशन का उपयोग करना इतना तेज़ और आसान है, मुझे अतिरिक्त रखरखाव लागत के लायक लगता है।
स्रोत
2011-06-07 14:52:34
+1 विशेष रूप से तीसरे और चौथे पैराग्राफ के लिए +1। मैं अक्सर लोगों को अधिक जटिल चीजों और वास्तविक दुनिया में देखता हूं (जहां किसी को वास्तव में किसी बिंदु पर कुछ देना होता है) समाधान को समस्या को हल करना महत्वपूर्ण है। आपका एक प्रशंसनीय व्यावहारिक दृष्टिकोण की तरह लगता है। –
प्वाइंट लिया गया। हालांकि, जब आप कहते हैं कि "एमवीसी एनोटेशन-संचालित सत्यापन एक एप्लिकेशन में कुछ बुनियादी सत्यापन प्राप्त करने का एक बहुत ही सस्ता तरीका है", मुझे लगता है कि आप बॉक्स सत्यापन से बाहर बात कर रहे हैं यानी कस्टम सत्यापन नहीं। अन्यथा, हमें कुछ गलत करना होगा क्योंकि ओपी में लिंक में प्रदान किए गए एमवीसी तरीके में कस्टम सत्यापन प्राप्त करने में हमें समय लगता है। बाद के लिंक में, इस चिंताओं को अलग करने के बारे में आप बात करते हैं, हालांकि निश्चित रूप से डेटा एनोटेशन हैं लेकिन कस्टम सत्यापन वर्ग अलग है। – DavidS
@ डेविड - मेरा मतलब अंतर्निहित वैधकर्ता प्रकार है, हाँ - हालांकि मुझे लगता है कि एक बार जब आप कस्टम सत्यापनकर्ताओं के साथ काम करने के कूबड़ पर पहुंच जाते हैं तो वे भी उपयोग करने के लिए बहुत सस्ते होंगे। एफवी आपको "एक सत्यापन प्रणाली प्रदान करता है जो [वैधता] का आयोजन करता है और इसे सभी स्तरों पर प्लग करता है" वर्ग-स्तर 'सत्यापनकर्ता' विशेषताओं के माध्यम से, जो परेशानी को कम करता है; मैं अभी भी निर्णय लेने में ड्राइविंग कारक कहूंगा कि कौन सा मार्ग लेना आवश्यक सत्यापन की जटिलता होनी चाहिए। –