2011-03-24 8 views
6

"प्रो एएसपी.नेट एमवीसी 2 फ्रेमवर्क" का संदर्भ लें, एक्शन रिसेट कमांड पैटर्न का कार्यान्वयन है। मैं जानना चाहता हूं कि पैटर्न कैसे कार्यान्वित किया जाता है? क्या आप मुझे कुछ प्रकाश भेज सकते हैं?एएसपी.नेट एमवीसी के एक्शन रिसेट कैसे कमांड पैटर्न

धन्यवाद।

उत्तर

11

एक क्रिया विधि एक उदाहरण देता है जो एक आदेश को प्रस्तुत करता है जिसे ढांचे को आगे करने की आवश्यकता होती है। यह क्रिया विधि के भीतर से कार्रवाई विधि पूरी होने के बाद तक ढांचे/पाइपलाइन कोड के निष्पादन में देरी के लिए साधन प्रदान करता है।

enter image description here

+0

निष्पादन में देरी के अलावा, क्या कोई अन्य लाभ है? – Ricky

+1

@ रिकी, निष्पादन में देरी [कमांड पैटर्न] (http://en.wikipedia.org/wiki/Command_pattern) के पीछे मुख्य विचार है: * ऑब्जेक्ट उन्मुख प्रोग्रामिंग में, कमांड पैटर्न एक डिज़ाइन पैटर्न है जिसमें एक ऑब्जेक्ट का उपयोग बाद में किसी विधि को कॉल करने के लिए आवश्यक सभी जानकारी का प्रतिनिधित्व और समापन करने के लिए किया जाता है *। –

+0

@ डिमिट्रो: अपने संदर्भ की सराहना करें – Ricky

1

ActionResult बिल्कुल आदेश पैटर्न के एक कार्यान्वयन नहीं है:

यह आदेश ActionResult सार वर्ग का प्रतिनिधित्व करती है और ExecuteResult विधि है जो इस तरह के ViewResult और JsonResult के रूप में ठोस आदेशों द्वारा कार्यान्वित किया जाता पास। नियंत्रक पर कार्रवाई कमांड के सबसे नज़दीक है, और एक्शन रिसेट व्यू में बदलाव है, आमतौर पर। आदेश मॉडल अद्यतन करता है, ActionResults मॉडल अद्यतन नहीं करते हैं।

मैंने एक्शनफिल्टर का उपयोग करके एमवीसी में कमांड पैटर्न लागू किया और इतिहास में एक्शन, कंट्रोलर नाम और पैरामीटर्स को संग्रहीत किया (उदाहरण: एक सूची <>)। एक नियंत्रक ने पूर्ववत और फिर से लागू किया, जबकि अन्य सभी नियंत्रकों ने Do_ और Undo_ के साथ उपसर्ग किए गए सभी कार्यों के सम्मेलन का पालन किया। वैकल्पिक रूप से आप एक अतिरिक्त बूल पास कर सकते हैं? पूर्ववत पैरामीटर।

एमवीसी में कमांड करने के कई तरीके हैं, लेकिन एक्शन रिसेट के पास इसके साथ कुछ लेना देना नहीं है।

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