डिज़ाइन पैटर्न: Difference between revisions
(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| | {{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| | {{Further|पैटर्न भाषा}} | ||
किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह [[पैटर्न भाषा]] कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है। | किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह [[पैटर्न भाषा]] कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है। | ||
{{Blockquote| | {{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| | बिजनेस मॉडल में डिज़ाइन पैटर्न भी होते हैं।<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.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.
- ↑ 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.
- ↑ Maioriello, James (2002-10-02). "What are design patterns and do I need them?". developer.com. Retrieved 2011-03-21.
- ↑ 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.
अग्रिम पठन
- Erl, Thomas (2009). SOA Design Patterns. Prentice Hall service-oriented computing series from Thomas Erl. Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-613516-6. OCLC 156832597.
- Leitner, Helmut (2015). Pattern Theory: Introduction and Perspectives on the Tracks of Christopher Alexander. Pattern research series. Vol. 1. Graz: Helmut Leitner, HLS Software. ISBN 978-1-5056-3743-4. OCLC 913795677.
- Pree, Wolfgang (1995). Design patterns for object-oriented software development. ACM Press books. Wokingham, England; Reading, Mass.: Addison-Wesley. ISBN 0201422948. OCLC 31291883.
- Schmidt, Douglas C.; Buschmann, Frank; Henney, Kevlin (2007). Pattern-Oriented Software Architecture: On Patterns and Pattern Languages. Wiley series in software design patterns. Vol. 5. Chichester, UK; New York: Wiley. ISBN 9780471486480. OCLC 62532759.
- Tidwell, Jenifer; Brewer, Charles; Valencia, Aynne (2020) [2005]. Designing Interfaces: Patterns For Effective Interaction Design (3rd ed.). Sebastopol, CA: O'Reilly. ISBN 9781492051961. OCLC 1138701080.
Presents solutions to common UI design problems as a collection of patterns—each containing concrete examples, recommendations, and warnings.