डिज़ाइन पैटर्न: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Re-usable form of a solution to a design problem}} {{Redirect|Design patterns|the book|Design Patterns}} डिज़ाइन पैटर्न कि...")
 
No edit summary
Line 1: Line 1:
{{Short description|Re-usable form of a solution to a design problem}}
{{Short description|Re-usable form of a solution to a design problem}}
{{Redirect|Design patterns|the book|Design Patterns}}
{{Redirect|डिजाइन पैटर्न्स|पुस्तक|डिजाइन पैटर्न्स}}


डिज़ाइन पैटर्न किसी डिज़ाइन समस्या के समाधान का पुन: प्रयोज्य रूप है। यह विचार वास्तुकार [[क्रिस्टोफर अलेक्जेंडर]] द्वारा प्रस्तुत किया गया था<ref name="Alexander, A Pattern Language" >{{cite book |first=Christopher |last=Alexander |author-link=Christopher Alexander |title=[[A Pattern Language|A Pattern Language: Towns, Buildings, Construction]] |series=Center for Environmental Structure series |volume=2 |location=New York |publisher=[[Oxford University Press]] |year=1977 |isbn=0-19-501919-9 |oclc=3132495}}</ref> और इसे विभिन्न अन्य विषयों, विशेष रूप से [[सॉफ्टवेयर इंजीनियरिंग]] के लिए अनुकूलित किया गया है।<ref name="Gang of Four" >{{cite book |title=[[Design Patterns (book)|Design Patterns: Elements of Reusable Object-Oriented Software]] |first1=Erich |last1=Gamma |first2=Richard |last2=Helm |first3=Ralph |last3=Johnson |first4=John |last4=Vlissides |series=Addison-Wesley professional computing series |location=Reading, Mass. |publisher=[[Addison-Wesley]] |year=1994 |isbn=0-201-63361-2 |oclc=31171684}} The "[[Design Patterns (book)|Gang of Four]]" book.</ref>
डिज़ाइन पैटर्न किसी डिज़ाइन समस्या के समाधान का पुन: प्रयोज्य रूप है। यह विचार वास्तुकार [[क्रिस्टोफर अलेक्जेंडर]] द्वारा प्रस्तुत किया गया था<ref name="Alexander, A Pattern Language" >{{cite book |first=Christopher |last=Alexander |author-link=Christopher Alexander |title=[[A Pattern Language|A Pattern Language: Towns, Buildings, Construction]] |series=Center for Environmental Structure series |volume=2 |location=New York |publisher=[[Oxford University Press]] |year=1977 |isbn=0-19-501919-9 |oclc=3132495}}</ref> और इसे विभिन्न अन्य विषयों, विशेष रूप से [[सॉफ्टवेयर इंजीनियरिंग]] के लिए अनुकूलित किया गया है।<ref name="Gang of Four" >{{cite book |title=[[Design Patterns (book)|Design Patterns: Elements of Reusable Object-Oriented Software]] |first1=Erich |last1=Gamma |first2=Richard |last2=Helm |first3=Ralph |last3=Johnson |first4=John |last4=Vlissides |series=Addison-Wesley professional computing series |location=Reading, Mass. |publisher=[[Addison-Wesley]] |year=1994 |isbn=0-201-63361-2 |oclc=31171684}} The "[[Design Patterns (book)|Gang of Four]]" book.</ref>
Line 6: Line 6:


== विवरण ==
== विवरण ==
{{Further|Pattern language}}
{{Further|पैटर्न भाषा}}


किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह [[पैटर्न भाषा]] कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है।
किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह [[पैटर्न भाषा]] कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है।


{{Blockquote|The elements of this language are entities called patterns. Each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.|author=Christopher Alexander|source=''[[A Pattern Language]]''<ref name="Alexander, A Pattern Language"/>}}
{{Blockquote|इस भाषा के एलिमेंट इकाइयां हैं जिन्हें पैटर्न कहा जाता है। प्रत्येक पैटर्न समस्या का वर्णन करता है जो हमारे वातावरण में बार-बार होती है, और फिर उस समस्या के समाधान के मूल का वर्णन करती है, इस प्रकार से कि आप इस समाधान का उपयोग एक ही विधि से दो बार किए बिना, लाखों बार कर सकते हैं। .|author=क्रिस्टोफर अलेक्जेंडर|source=''[[पैटर्न भाषा]]''<ref name="Alexander, A Pattern Language"/>}}


किसी पैटर्न का दस्तावेजीकरण करने के लिए यह समझाने की आवश्यकता होती है कि कोई विशेष स्थिति समस्याएँ क्यों पैदा करती है, और समाधान देने के लिए पैटर्न के घटक एक-दूसरे से कैसे संबंधित होते हैं।<ref>{{cite web |access-date=2011-03-21 |first=James |last=Maioriello |date=2002-10-02 |title=What are design patterns and do I need them? |url=http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm |website=developer.com}}</ref> क्रिस्टोफर एलेक्जेंडर आम डिज़ाइन समस्याओं को परस्पर विरोधी ताकतों से उत्पन्न होने वाली समस्याओं के रूप में वर्णित करते हैं - जैसे कि एक कमरे में धूप होना चाहते हैं और यह चाहते हैं कि गर्मी की दोपहर में यह अधिक गर्म न हो, के बीच संघर्ष। एक पैटर्न डिज़ाइनर को यह नहीं बताएगा कि कमरे में कितनी खिड़कियाँ लगानी हैं; इसके बजाय, यह डिज़ाइनर को ऐसे निर्णय की ओर मार्गदर्शन करने के लिए मूल्यों का एक सेट प्रस्तावित करेगा जो उनके विशेष अनुप्रयोग के लिए सर्वोत्तम है। उदाहरण के लिए, अलेक्जेंडर का सुझाव है कि कमरे के चारों ओर सीधी रोशनी के लिए पर्याप्त खिड़कियाँ शामिल की जानी चाहिए। वह इसे एक अच्छा समाधान मानते हैं क्योंकि उनका मानना ​​है कि इससे कमरे में रहने वालों का आनंद बढ़ जाता है। अन्य लेखक अलग-अलग निष्कर्ष पर आ सकते हैं, यदि वे हीटिंग लागत, या सामग्री लागत को अधिक महत्व देते हैं। ये मान, जो पैटर्न के लेखक द्वारा यह निर्धारित करने के लिए उपयोग किए जाते हैं कि कौन सा समाधान सबसे अच्छा है, को भी पैटर्न के भीतर प्रलेखित किया जाना चाहिए।
किसी पैटर्न का दस्तावेजीकरण करने के लिए यह समझाने की आवश्यकता होती है कि कोई विशेष स्थिति समस्याएँ क्यों पैदा करती है, और समाधान देने के लिए पैटर्न के घटक एक-दूसरे से कैसे संबंधित होते हैं।<ref>{{cite web |access-date=2011-03-21 |first=James |last=Maioriello |date=2002-10-02 |title=What are design patterns and do I need them? |url=http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm |website=developer.com}}</ref> क्रिस्टोफर एलेक्जेंडर आम डिज़ाइन समस्याओं को परस्पर विरोधी ताकतों से उत्पन्न होने वाली समस्याओं के रूप में वर्णित करते हैं - जैसे कि एक कमरे में धूप होना चाहते हैं और यह चाहते हैं कि गर्मी की दोपहर में यह अधिक गर्म न हो, के बीच संघर्ष। एक पैटर्न डिज़ाइनर को यह नहीं बताएगा कि कमरे में कितनी खिड़कियाँ लगानी हैं; इसके बजाय, यह डिज़ाइनर को ऐसे निर्णय की ओर मार्गदर्शन करने के लिए मूल्यों का एक सेट प्रस्तावित करेगा जो उनके विशेष अनुप्रयोग के लिए सर्वोत्तम है। उदाहरण के लिए, अलेक्जेंडर का सुझाव है कि कमरे के चारों ओर सीधी रोशनी के लिए पर्याप्त खिड़कियाँ शामिल की जानी चाहिए। वह इसे एक अच्छा समाधान मानते हैं क्योंकि उनका मानना ​​है कि इससे कमरे में रहने वालों का आनंद बढ़ जाता है। अन्य लेखक अलग-अलग निष्कर्ष पर आ सकते हैं, यदि वे हीटिंग लागत, या सामग्री लागत को अधिक महत्व देते हैं। ये मान, जो पैटर्न के लेखक द्वारा यह निर्धारित करने के लिए उपयोग किए जाते हैं कि कौन सा समाधान सबसे अच्छा है, को भी पैटर्न के भीतर प्रलेखित किया जाना चाहिए।
Line 26: Line 26:
* [[पैटर्न बागवानी]], बागवानी में
* [[पैटर्न बागवानी]], बागवानी में


बिजनेस मॉडल में डिज़ाइन पैटर्न भी होते हैं।<ref>For example: {{cite journal |last1=Mettler |first1=Tobias |last2=Eurich |first2=Markus |date=June 2012 |title=A 'design-pattern'–based approach for analyzing e-health business models |journal=[[Health Policy and Technology]] |volume=1 |issue=2 |pages=77–85 |doi=10.1016/j.hlpt.2012.04.005}}</ref> देखना {{slink|Business model#Examples}}.
बिजनेस मॉडल में डिज़ाइन पैटर्न भी होते हैं।<ref>For example: {{cite journal |last1=Mettler |first1=Tobias |last2=Eurich |first2=Markus |date=June 2012 |title=A 'design-pattern'–based approach for analyzing e-health business models |journal=[[Health Policy and Technology]] |volume=1 |issue=2 |pages=77–85 |doi=10.1016/j.hlpt.2012.04.005}}</ref> देखना {{slink|बिजनेस मॉडल उदाहरण
}}.


== यह भी देखें ==
== यह भी देखें ==

Revision as of 16:52, 3 July 2023

डिज़ाइन पैटर्न किसी डिज़ाइन समस्या के समाधान का पुन: प्रयोज्य रूप है। यह विचार वास्तुकार क्रिस्टोफर अलेक्जेंडर द्वारा प्रस्तुत किया गया था[1] और इसे विभिन्न अन्य विषयों, विशेष रूप से सॉफ्टवेयर इंजीनियरिंग के लिए अनुकूलित किया गया है।[2]


विवरण

किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह पैटर्न भाषा कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है।

इस भाषा के एलिमेंट इकाइयां हैं जिन्हें पैटर्न कहा जाता है। प्रत्येक पैटर्न समस्या का वर्णन करता है जो हमारे वातावरण में बार-बार होती है, और फिर उस समस्या के समाधान के मूल का वर्णन करती है, इस प्रकार से कि आप इस समाधान का उपयोग एक ही विधि से दो बार किए बिना, लाखों बार कर सकते हैं। .

— क्रिस्टोफर अलेक्जेंडर, पैटर्न भाषा[1]

किसी पैटर्न का दस्तावेजीकरण करने के लिए यह समझाने की आवश्यकता होती है कि कोई विशेष स्थिति समस्याएँ क्यों पैदा करती है, और समाधान देने के लिए पैटर्न के घटक एक-दूसरे से कैसे संबंधित होते हैं।[3] क्रिस्टोफर एलेक्जेंडर आम डिज़ाइन समस्याओं को परस्पर विरोधी ताकतों से उत्पन्न होने वाली समस्याओं के रूप में वर्णित करते हैं - जैसे कि एक कमरे में धूप होना चाहते हैं और यह चाहते हैं कि गर्मी की दोपहर में यह अधिक गर्म न हो, के बीच संघर्ष। एक पैटर्न डिज़ाइनर को यह नहीं बताएगा कि कमरे में कितनी खिड़कियाँ लगानी हैं; इसके बजाय, यह डिज़ाइनर को ऐसे निर्णय की ओर मार्गदर्शन करने के लिए मूल्यों का एक सेट प्रस्तावित करेगा जो उनके विशेष अनुप्रयोग के लिए सर्वोत्तम है। उदाहरण के लिए, अलेक्जेंडर का सुझाव है कि कमरे के चारों ओर सीधी रोशनी के लिए पर्याप्त खिड़कियाँ शामिल की जानी चाहिए। वह इसे एक अच्छा समाधान मानते हैं क्योंकि उनका मानना ​​है कि इससे कमरे में रहने वालों का आनंद बढ़ जाता है। अन्य लेखक अलग-अलग निष्कर्ष पर आ सकते हैं, यदि वे हीटिंग लागत, या सामग्री लागत को अधिक महत्व देते हैं। ये मान, जो पैटर्न के लेखक द्वारा यह निर्धारित करने के लिए उपयोग किए जाते हैं कि कौन सा समाधान सबसे अच्छा है, को भी पैटर्न के भीतर प्रलेखित किया जाना चाहिए।

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

उदाहरण के लिए, क्रिस्टोफर अलेक्जेंडर के काम में, सर्जरी सेंटर में बस स्टॉप और वेटिंग रूम दोनों ही पैटर्न ए प्लेस टू वेट के संदर्भ में हैं।

उदाहरण

बिजनेस मॉडल में डिज़ाइन पैटर्न भी होते हैं।[4] देखना बिजनेस मॉडल उदाहरण § Notes.

यह भी देखें

संदर्भ

  1. 1.0 1.1 Alexander, Christopher (1977). A Pattern Language: Towns, Buildings, Construction. Center for Environmental Structure series. Vol. 2. New York: Oxford University Press. ISBN 0-19-501919-9. OCLC 3132495.
  2. Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1994). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley professional computing series. Reading, Mass.: Addison-Wesley. ISBN 0-201-63361-2. OCLC 31171684. The "Gang of Four" book.
  3. Maioriello, James (2002-10-02). "What are design patterns and do I need them?". developer.com. Retrieved 2011-03-21.
  4. For example: Mettler, Tobias; Eurich, Markus (June 2012). "A 'design-pattern'–based approach for analyzing e-health business models". Health Policy and Technology. 1 (2): 77–85. doi:10.1016/j.hlpt.2012.04.005.


अग्रिम पठन