2009-11-02 13 views
8

मेरे पास काम पर कुछ नियंत्रक हैं जिनमें विधियों का उपयोग मैं अन्य नियंत्रकों में कर सकता हूं।एएसपी.नेट एमवीसी नियंत्रकों के बीच कोड साझा करना

मैंने कुछ सामान्य कार्यक्षमता को मूल नियंत्रक को बाहर ले जाने पर विचार किया, जिसे बाद में प्राप्त किया जा सकता था। इसके साथ समस्या यह है कि मेरे पास कई आधार नियंत्रणों में आवश्यक विधियां होंगी जिन्हें मैं एक्सेस नहीं कर पाऊंगा। (क्योंकि हम एकाधिक आधार नियंत्रकों से प्राप्त नहीं कर सकते हैं)।

मेरा दूसरा विचार नियंत्रक फ़ोल्डर के बाहर, सामान्य कार्यक्षमता को अपने स्वयं के वर्गों में स्थानांतरित करना है।

आप क्या करेंगे? क्या इस तरह के कोड को साझा करने के लिए एएसपी.नेट एमवीसी में एक शानदार तरीका है जिसे मैं अभी तक नहीं जानता?

उत्तर

14

वहाँ ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के बारे में एक सामान्य नियम के है जिसकी सहायता से आप चाहिए विरासत से अधिक पक्ष रचना है, और यह इस परिदृश्य में बहुत अच्छी तरह से फिट बैठता है।

मैं एक या अधिक सेवाएं बनाउंगा जो प्रश्नों के तरीकों को समाहित करते हैं, और फिर उन सेवाओं को नियंत्रकों से उपभोग करते हैं।

अतिरिक्त अंक के लिए, प्रश्न में सेवा से एक इंटरफ़ेस निकालें, और कंसर्नर्स के अधिकतम पृथक्करण के लिए नियंत्रकों में इंटरफ़ेस इंजेक्ट करें।

+0

मेरे पास थोड़ा अलग परिदृश्य है। मेरे पास कई वेब एप्लिकेशन हैं जिनके लॉगिन नियंत्रकों के पास एक ही कोड_ है। इन अनुप्रयोगों के लॉगिन सिस्टम के बीच अंतर उनकी 'web.config' फ़ाइलों तक ही सीमित हैं। मैं एक अलग परियोजना में साझा लॉगिन नियंत्रक वर्ग रखना चाहता हूं जिसे मेरे वेब अनुप्रयोगों द्वारा संदर्भित किया जाएगा। क्या यह संभव है? – pyon

+0

हां। मैं हमेशा अलग-अलग पुस्तकालयों में अपने सभी नियंत्रकों को कोड करता हूं। –

+0

अच्छा। और विचारों के बारे में क्या? – pyon

4

मैं एक सहायक वर्ग या कुछ में कारक बनूंगा। आप क्या वर्णन किया है से कार्यक्षमता नियंत्रकों/

1

विकल्प बेस नियंत्रक या सहायक वर्ग प्रतीत होते हैं। आप नियंत्रक निर्माण पर नियंत्रण ले सकते हैं और सहायक नियंत्रकों को जो भी नियंत्रक की आवश्यकता है उसे इंजेक्ट कर सकते हैं।

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