ActionResult बिल्कुल आदेश पैटर्न के एक कार्यान्वयन नहीं है:
यह आदेश ActionResult सार वर्ग का प्रतिनिधित्व करती है और ExecuteResult विधि है जो इस तरह के ViewResult
और JsonResult
के रूप में ठोस आदेशों द्वारा कार्यान्वित किया जाता पास। नियंत्रक पर कार्रवाई कमांड के सबसे नज़दीक है, और एक्शन रिसेट व्यू में बदलाव है, आमतौर पर। आदेश मॉडल अद्यतन करता है, ActionResults मॉडल अद्यतन नहीं करते हैं।
मैंने एक्शनफिल्टर का उपयोग करके एमवीसी में कमांड पैटर्न लागू किया और इतिहास में एक्शन, कंट्रोलर नाम और पैरामीटर्स को संग्रहीत किया (उदाहरण: एक सूची <>)। एक नियंत्रक ने पूर्ववत और फिर से लागू किया, जबकि अन्य सभी नियंत्रकों ने Do_ और Undo_ के साथ उपसर्ग किए गए सभी कार्यों के सम्मेलन का पालन किया। वैकल्पिक रूप से आप एक अतिरिक्त बूल पास कर सकते हैं? पूर्ववत पैरामीटर।
एमवीसी में कमांड करने के कई तरीके हैं, लेकिन एक्शन रिसेट के पास इसके साथ कुछ लेना देना नहीं है।
निष्पादन में देरी के अलावा, क्या कोई अन्य लाभ है? – Ricky
@ रिकी, निष्पादन में देरी [कमांड पैटर्न] (http://en.wikipedia.org/wiki/Command_pattern) के पीछे मुख्य विचार है: * ऑब्जेक्ट उन्मुख प्रोग्रामिंग में, कमांड पैटर्न एक डिज़ाइन पैटर्न है जिसमें एक ऑब्जेक्ट का उपयोग बाद में किसी विधि को कॉल करने के लिए आवश्यक सभी जानकारी का प्रतिनिधित्व और समापन करने के लिए किया जाता है *। –
@ डिमिट्रो: अपने संदर्भ की सराहना करें – Ricky