2008-10-12 13 views
5

मेरे पास एक .net विंडोज ऐप में कई रूप हैं जिनमें टेक्स्टबॉक्स और अन्य उपयोगकर्ता इनपुट नियंत्रण का एक सामान्य सेट है, प्रत्येक रूप में एक ही दिखने और महसूस होता है, लेकिन प्रत्येक फ़ॉर्म को अलग-अलग डेटाबेस तालिकाओं को लोड और सहेजने की आवश्यकता होती है।दृश्य विरासत या उपयोगकर्ता नियंत्रण?

क्या नियंत्रण के आधार पर नियंत्रण रखना बेहतर होगा, और इससे प्राप्त होगा या प्रत्येक फॉर्म पर ड्रॉप करने के लिए उपयोगकर्ता नियंत्रण बनाएगा?

उत्तर

1

मैं आमतौर पर उपयोगकर्ता नियंत्रण को पसंद करता हूं क्योंकि वे अधिक लचीले होते हैं - आप डेटा को प्रदर्शित या संशोधित करने के लिए किसी फ़ॉर्म के संदर्भ में या किसी अन्य दृश्य संदर्भ में उनका उपयोग कर सकते हैं। मेरे पास कई मामले हैं जहां मुझे मुख्य यूआई के अंदर किसी इनलाइन नियंत्रण में कुछ संपादित करने के लिए एक अलग संवाद से अपना यूआई डिज़ाइन बदलना पड़ा था।

इसके अलावा, मैं कहूंगा कि यह स्वाद का विषय है।

0

यह निर्भर करता है। समग्र मॉडल (उपयोगकर्ता नियंत्रण का उपयोग) क्लीनर है, लेकिन नियंत्रण कॉलिंग फॉर्म से अवगत नहीं हो सकता है, इसलिए आपको तर्कों को घटनाओं के रूप में पास करना होगा। कभी-कभी डुप्लिकेट तर्क का कारण बन सकता है।

विरासत के साथ, आप बेस क्लास में सामान्य कोड को उपclass रूप में कुछ ओवरराइड के साथ कार्यान्वित कर सकते हैं और लचीली इंटरप्ले को लागू कर सकते हैं। लेकिन इसके लिए सबक्लास के सभी कार्यान्वयनकर्ताओं को बेस क्लास स्रोत कोड से अवगत होना आवश्यक है, जो अराजक हो सकते हैं।

0

मैं स्थिति के आधार पर दोनों विधियों का उपयोग करता हूं। यदि आपके पास LOGIC का एक कार्यात्मक टुकड़ा है जिसे आप केवल एक फॉर्म में अनमोडिफाइड करना चाहते हैं, तो मुझे लगता है कि UserControls उपयुक्त हैं। हालांकि, यदि आप कई रूपों में एक सामान्य UI को डुप्लिकेट और विस्तारित करना चाहते हैं, तो दृश्य विरासत शायद बेहतर विकल्प है।

0

घटनाओं के साथ वायर्ड उपयोगकर्ता नियंत्रणों का उपयोग करने के लिए अपने सरल के पीछे तर्क के आधार पर तर्क के आधार पर। यदि सामान्य कार्य हैं तो आप बेस क्लास सर्वर नियंत्रण का उपयोग कर सकते हैं।

संबंधित मुद्दे