2008-09-23 8 views
10

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

एमवीसी (ऑन्रोलर) और एप्लिकेशन नियंत्रक में एक अंतर है। मुझे एमवीसी (ऑनट्रॉलर) पता है, मुझे यकीन नहीं है कि एप्लिकेशन कंट्रोलर के लिए ज़िम्मेदारियां क्या हैं, और यह WinForms एप्लिकेशन में कैसे फिट हो जाती है। मार्टिन फाउलर इसे एप्लिकेशन कंट्रोलर पैटर्न भी कहते हैं, निश्चित रूप से यह एमवीसी (ऑनरोलर) जैसा ही नहीं है?

उत्तर

12

मैंने हाल ही में वर्कफ़्लो और प्रस्तुतियों को सीधे रूपों से डीक्यूपल करने के लिए सी # विनफॉर्म प्रोजेक्ट में एप्लिकेशन कंट्रोलर बनाने और उपयोग करने पर एक लेख लिखा था। यह मदद मिल सकती है:

Decoupling Workflow And Forms With An Application Controller

संपादित करें:
Archive.org इस समय एक more readable copy of the article मिल गया है।

0

व्यक्तिगत रूप से मुझे एमवीपी या विनफॉर्म के साथ कोई अनुभव नहीं है, लेकिन मैंने एमवीसी के साथ काम किया है। मुझे उम्मीद है कि आप यही पूछ रहे हैं, अन्यथा मेरे जवाब को पूरी तरह से अनदेखा करें।

सी में एमवीसी क्लाइंट को पेश किए जाने वाले अगले दृश्य को चुनने के लिए ज़िम्मेदार है। यह सबसे अधिक है, अधिमानतः सभी, सिस्टम कार्यों के प्रदर्शन सहित अनुप्रयोग के व्यवसाय-तर्क (जैसे मॉडल से डेटा के प्रवाह पर अनुमतियों के लॉगिंग और प्रवर्तन)।

इसका प्राथमिक कार्य, स्वाभाविक रूप से, इसके ऊपर प्रस्तुति परत की सेवा करने के लिए है और इसे मध्यस्थता से अलग करते हुए नीचे मॉडल परत से अलग करता है। मुझे लगता है कि आप इसे एप्लिकेशन के मस्तिष्क के रूप में सोच सकते हैं।

आशा इस मदद करता है,

युवाल = 8)

11

एक अनुप्रयोग नियंत्रक MVC में इस्तेमाल नियंत्रक तुलना में एक अलग जानवर का एक सा है।

Application Controller पर मार्टिन फाउलर का पृष्ठ।

एक एमवीपी WinForms ऐप के मामले में, जो लगता है कि प्रश्न विषय मेरे बारे में क्या लगता है। आप प्रस्तुतकर्ता में "अब मैं किस फॉर्म को दिखाता हूं" के लिए सभी तर्क डालता हूं, लेकिन जैसे ही आपका एप्लिकेशन बढ़ता है, आप प्रेजेंटर्स के बीच बहुत सारे कोड को डुप्लिकेट करने जा रहे हैं।

कहें कि आपके पास 2 विचार हैं कि दोनों के पास "इस विजेट को संपादित करें" के लिए एक बटन है, दोनों को विजेट एडिटर प्रतिनिधि प्राप्त करने और संबंधित दृश्य दिखाने के लिए तर्क होना होगा। यदि आपके पास एप्लिकेशन कंट्रोलर है, तो आप उस तर्क को एप्लिकेशन कंट्रोलर में ले जाते हैं, और अब आप बस अपने सभी प्रस्तुतियों में एप्लिकेशन कंट्रोलर पर निर्भरता रखते हैं और आप appController.EditWidget() को कॉल कर सकते हैं और यह सही दृश्य पॉप अप करेगा।

एप्लिकेशन नियंत्रक एक uber-नियंत्रक है जो आपके सिस्टम में एप्लिकेशन प्रवाह को नियंत्रित करता है जब आप स्क्रीन से स्क्रीन पर जाते हैं।

+0

मेरे उत्तर के समय, ओपी बहुत स्पष्ट था कि वह किस बारे में जानना चाहता था। –

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