चलो पहले यकीन है कि हम जानते हैं कि कमान पैटर्न है:
कमान पैटर्न एक वस्तु के रूप में एक अनुरोध समाहित है और यह एक ज्ञात सार्वजनिक इंटरफ़ेस देता है। कमांड पैटर्न सुनिश्चित करता है कि प्रत्येक ऑब्जेक्ट को अपने आदेश प्राप्त होते हैं और प्रेषक और रिसीवर के बीच एक decoupling प्रदान करता है। एक प्रेषक एक ऑब्जेक्ट है जो ऑपरेशन को आमंत्रित करता है, और एक रिसीवर एक ऑब्जेक्ट है जो अनुरोध प्राप्त करता है और पर कार्य करता है।
यहां आपके लिए एक उदाहरण है। ऐसा करने के कई तरीके हैं जो आप कर सकते हैं, लेकिन मैं कोड को आपके लिए अधिक टेस्ट करने योग्य बनाने के लिए एक इंटरफेस बेस दृष्टिकोण लेने जा रहा हूं। मुझे यकीन नहीं है कि आप कौन सी भाषा पसंद करते हैं, लेकिन मैं इसे सी # में लिख रहा हूं।
सबसे पहले, एक कमांड का वर्णन करने वाला इंटरफ़ेस बनाएं।
public interface ICommand
{
void Execute();
}
दूसरा, आदेश ऑब्जेक्ट बनाएं जो कमांड इंटरफ़ेस को कार्यान्वित करेगा।
public class CutCommand : ICommand
{
public void Execute()
{
// Put code you like to execute when the CutCommand.Execute method is called.
}
}
तीसरा, हमें अपने आवेदक या प्रेषक ऑब्जेक्ट को सेट करने की आवश्यकता है।
public class TextOperations
{
public void Invoke(ICommand command)
{
command.Execute();
}
}
चौथा, क्लाइंट ऑब्जेक्ट बनाएं जो चालक/प्रेषक ऑब्जेक्ट का उपयोग करेगा।
public class Client
{
static void Main()
{
TextOperations textOperations = new TextOperations();
textOperation.Invoke(new CutCommand());
}
}
मुझे आशा है कि आप यह उदाहरण ले सकते हैं और जिस एप्लिकेशन पर आप काम कर रहे हैं उसके लिए इसे उपयोग में डाल सकते हैं। यदि आप अधिक स्पष्टीकरण चाहते हैं, तो बस मुझे बताएं।
स्रोत
2008-08-18 20:51:49
मुझे लगता है कि पोस्ट 4 साल पहले था, इसलिए यह समझाएगा। लेकिन दोनों लिंक अब टूटा हुआ है। –
उनके archive.org प्रतिलिपि के लिंक के साथ टूटे हुए लिंक बदले गए – Imran