2008-12-19 13 views
11

एक्शन डिज़ाइन पैटर्न क्या है, मैंने इससे पहले नहीं सुना है? मुझे संदेह है कि यह Command Design pattern [विकिपीडिया] जैसा ही है लेकिन मुझे इस पर कोई संसाधन नहीं मिल रहा है।एक्शन डिजाइन पैटर्न क्या है?

उत्तर

12

आप सही हैं, कार्रवाई पैटर्न == कमांड पैटर्न। आप इसे GUI डिज़ाइन में अक्सर एक्शन पैटर्न कहते हैं, "कुछ बटन दबाए गए, इस क्रिया को निष्पादित करें" के रूप में। कोड में बटन को किसी प्रकार की एक्शन ऑब्जेक्ट के साथ तारित किया जाएगा।

0

एक्शन डिज़ाइन पैटर्न कमांड डिज़ाइन पैटर्न के समान है। एक्शन एक महत्वपूर्ण इकाई है, जो अपने व्यवहार के संबंध में जानकारी को अपने साथ जोड़ती है, इसकी प्रक्रिया() विधि पर क्या प्रसंस्करण करना है, इसे पूर्ववत कैसे किया जा सकता है, और इसी तरह। जब कोई एप्लिकेशन या उसके किसी भी घटक को एक्शन डिज़ाइन पैटर्न के अनुसार डिज़ाइन किया गया है, तो एप्लिकेशन में सब कुछ गतिविधि को क्रिया के रूप में प्रदर्शित किया जा सकता है, हर चीज़ को कई बार फिर से किया जा सकता है/पूर्ववत किया जा सकता है। उदाहरण के लिए। एक्सेल, पाठ संपादकों में पूर्ववत करें/फिर, आदि

कार्रवाई वर्ग है, जो इस डिजाइन पैटर्न में एक निर्माण खंड नीचे के रूप में तैयार किया जा सकता है में मैक्रो: -

public interface Action{ 
    public void do(); 
    public void undo(); 
    public void do(int iNoOfTimes); 
} 

public class FileCopyAction implements Action{ 
    private int iActionId; 
    public void do(){} 
    public void undo(){} 
    public void do(int iNoOfItems){} 
} 

यह मदद करता है उम्मीद है कि।

1

मैं अभी एमएसडीएन में "The Action/Executor Pattern" पढ़ रहा हूं, और मुझे इस आधार पर असहमत होना है कि कमांड और एक्शन/एक्जिक्यूटर पैटर्न समान हैं।

Command Pattern के वर्णन से SourceMaking.com पर:

  • एक वस्तु के रूप में एक अनुरोध समाहित है, जिससे आप विभिन्न अनुरोधों के साथ ग्राहकों parameterize, कतार या अनुरोध प्रवेश करें, और पूर्ववत करने योग्य कार्य का समर्थन दे।
  • पूर्ण वस्तु स्थिति को "एक वस्तु पर एक विधि के आह्वान" को बढ़ावा देना
  • एक ऑब्जेक्ट-ओरिएंटेड कॉलबैक

लड़ाई/निर्वाहक पैटर्न के बारे में MSDN लेख से:

एक्शन/एक्जिक्यूटर पैटर्न बेहतर दृश्यता और चपलता की इजाजत देकर कोड को उपयोग करने वाले मामलों को मैप करने की रणनीति की पहचान करता है। इसके अलावा, यह इकाइयों को दूषित करने और लेनदेन के उचित उपयोग पर छोड़ने के मुद्दों को संबोधित करता है।

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

ए "कमांड" एक्शन/एक्जिक्यूटर पैटर्न के आधे हिस्से की तरह लगता है - "एक्शन" एक "कमांड" के समानार्थी लगता है। एक्शन/एक्जिक्यूटर पैटर्न चीजों को एक कदम आगे ले जाता है और एक और चिंता का वर्णन करता है जिसका जिम्मेदारी "कार्रवाई" या "कमांड" द्वारा उत्पन्न परिवर्तनों को लेना और उन्हें कुछ जगह सहेजना है।

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