डिजाइन पैटर्न समस्या को सुलझाने के कार्यों की एक व्यापक विविधता धरना करना है। तो अमूर्त में आपको विभिन्न प्रकार के काम करने का प्रतिनिधित्व करने का तरीका है, और उस काम के खिलाफ एक डिजाइन पैटर्न से मेल खाने का एक तरीका है। इसे सामान्य रूप से करना "एआई-हार्ड" है।
"काम किया जा रहा" का एक विशिष्ट प्रतिनिधित्व स्पष्ट रूप से कंप्यूटर स्रोत कोड है। अब डिजाइन पैटर्न मिलान समस्या कोड टुकड़ों के एक सेट के खिलाफ मेल खाने में से एक है जो ब्याज की समस्या को प्रदर्शित करती है, और "पैटर्न" (उदाहरण के लिए, समाधान) को उन चरणों के सेट के रूप में लागू करती है जो वांछित परिणाम प्राप्त करने के लिए स्रोत कोड को संशोधित करती हैं।
ऐसे उपकरण जो ऐसे पैटर्न और प्रभाव को व्यक्त कर सकते हैं स्वचालित स्रोत कोड परिवर्तन Program Transformation इंजन है। आप एक इंजन के साथ आम तौर पर क्या करते हैं, एक साथ डिजाइन पैटर्न का एक बड़ा सेट इकट्ठा करना है, उन्हें स्रोत-टू-सोर्स रीराइट नियमों के सेट के रूप में तुरंत चालू करना है, और उसके बाद रूपांतरण इंजन को कोड का एक हिस्सा सौंपना ताकि यह पैटर्न कर सके -चैच/प्रतिस्थापन कदम। सबसे कठिन काम, ज़ाहिर है, डिजाइन पैटर्न को रूपांतरण नियमों के रूप में कोडिंग कर रहा है, क्योंकि ज्यादातर डिज़ाइन पैटर्न गद्य में लिखे जाते हैं और सटीक विवरण के बारे में थोड़ा अस्पष्ट होते हैं। (कार्यक्रम परिवर्तन इंजन बनाने के लिए बहुत मुश्किल है, लेकिन वे तर्कसंगत रूप से पहले से ही किए गए हैं :)
कार्यक्रम परिवर्तन इंजन का उपयोग रेफैक्टरिंग (डिजाइन पैटर्न के एक प्रसिद्ध वर्ग), भाषा अनुवाद (बड़े पैमाने पर "डिजाइन पैटर्न को लागू करने के लिए किया गया है) एप्लिकेशन "), और कोड पुनर्गठन जैसे कि नई जरूरतों को पूरा करने के लिए एपीआई को दोबारा बदलना (एक विशिष्ट उदाहरण मैंने सी ++ कोड एपीआई को कॉरबा-शिकायत में परिवर्तित करना स्वचालित कर दिया है)।
स्रोत
2010-06-18 07:23:06
+1 अच्छा स्पर्श। मुझे यह पसंद है कि आपने डिज़ाइन पैटर्न को कुछ ऐसे तरीके के रूप में कैसे संबोधित किया है जिसे आपको गहराई से समझने और लागू होने पर उपयोग करने की आवश्यकता है; और उन्हें कैसे जानना फायदेमंद है ताकि आप अपने साथियों के साथ अपने इरादों को संवाद कर सकें।'इस प्रकार आप अपने कोड को डिज़ाइन पैटर्न के एकीकरण में बदलते हैं' दृष्टिकोण के बजाय। मेरी इच्छा है कि अधिक लोग पूर्व दृष्टिकोण लेंगे क्योंकि जो लोग सीढ़ी पर भरोसा करते हैं वे डिजाइन पैटर्न की पूरी अवधारणा को खराब नाम देते हैं। –