डेटासोर्सकंट्रोल का सबसे बड़ा लाभ यह है कि वे पूर्ण सीआरयूडी और दो-तरफा डाटाबेसिंग अभिव्यक्तियों के लिए समर्थन प्रदान करते हुए .NET जीवन चक्र के बारे में कई चिंताओं को दूर करते हैं, यानी।<% # बाइंड ("फर्स्टनाम")%> (हालांकि 2-तरफा डेटा-बाइंडिंग थोड़ी चूसती है ताकि आप शायद कुछ भी नहीं खो रहे हों)। एक डिजाइन पैटर्न के रूप में, यह एक मध्यम कार्यान्वयन के साथ एक बहुत अच्छा विचार है (वेबफॉर्म की तरह ही)।
यदि आप व्यूस्टेट को अक्षम करते हैं और खुद को यह पता लगाने की कोशिश कर रहे हैं कि आपके पोस्टबैक क्यों नहीं किए जा रहे हैं, या आप कई स्थानों पर डेटाबिंड() को कॉल करना चाहते हैं, तो डेटा स्रोत कुछ सिरदर्द दूर कर सकते हैं, क्योंकि DataBoundControls यह जानने के लिए पर्याप्त स्मार्ट हैं कि उन्हें डेटा की आवश्यकता होने पर और वे डेटा स्रोत से इसकी मांग करते हैं। कोई डेटाबिंड() कॉल आवश्यक नहीं है।
डेटा स्रोत भी सॉर्टिंग, फ़िल्टरिंग और पेजिनेशन को संभालने का एक अच्छा तरीका प्रदान करते हैं। अधिकतर डेवलपर्स, जब वे कोड-बैक का उपयोग करते हैं, आमतौर पर पेजिनेशन नहीं करते हैं और इसके बजाय डेटाबेस से बड़े परिणाम सेट लौटते हैं।
डेटा स्रोतों का नकारात्मक पक्ष यह है कि कई अच्छे कार्यान्वयन नहीं हुए हैं। और आम तौर पर आप अपने वेब यूआई को अपने दृढ़ता कार्यान्वयन (यानी एसक्लडाटासोर्स, लिंकडडाटासोर्स इत्यादि) पर टाइप करते हैं या आप ऑब्जेक्टडेटा स्रोत का उपयोग करते हैं, जो बेकार है क्योंकि यह इतना सीमित है, आपको अपने एएसपीएक्स में हार्ड-कोड क्लास नाम और विधि नामों की आवश्यकता होती है , और कुछ हद तक अपर्याप्त प्रतिबिंब का उपयोग करता है। इस वजह से, यह निर्भरता इंजेक्शन या स्थैतिक डीएओ कक्षाओं का उपयोग करने वाले लोगों के लिए उपयोगी नहीं है। यह एक बहुत ही खराब-अनुमानित कक्षा है और लगभग एमएस द्वारा एक विचारधारा की तरह लगता है।
व्यक्तिगत रूप से मैं डेटा स्रोतों और कोड-बैक का उपयोग करना पसंद करूंगा। लाइफसाइकिल/व्यूस्टेट सिरदर्द को दूर करने के लिए डेटासोर्स का उपयोग करें, और उसके बाद इसे कोड-बैक में "चयन करें" ईवेंट/प्रतिनिधि के साथ प्रदान करें। दुर्भाग्यवश ऑब्जेक्टडेटा स्रोत केवल प्रतिबिंब का उपयोग कर सकता है, हालांकि आप आसानी से अपना स्वयं का कार्यान्वयन लिख सकते हैं। मेरे पास मेरा एक है लेकिन यह सार्वजनिक नहीं है। या
http://mikeoff.blogspot.com/2006/06/objectdatasource-working-alternative.html
स्रोत
2009-11-17 23:12:10
यह एक प्रकार का एप्लीकेशन है जिसके लिए डायनामिक डेटा फ्रेमवर्क बनाया गया था। दुर्भाग्य से, हम सिर्फ 2.0 का उपयोग कर रहे हैं। यह निराशाजनक है, भंडार लिख रहा है और डीओ को कोडिंग कर रहा है, यह जानकर कि मोक्ष केवल एक ड्रॉप-डाउन (3.5) दूर एक क्लिक है! –