डिज़ाइन पैटर्न
डिज़ाइन पैटर्न किसी डिज़ाइन समस्या के समाधान का पुन: प्रयोज्य रूप है। यह विचार वास्तुकार क्रिस्टोफर अलेक्जेंडर द्वारा प्रस्तुत किया गया था[1] और इसे विभिन्न अन्य विषयों, विशेष रूप से सॉफ्टवेयर इंजीनियरिंग के लिए अनुकूलित किया गया है।[2]
विवरण
किसी विशेष क्षेत्र से संबंधित डिज़ाइन पैटर्न का एक संगठित संग्रह पैटर्न भाषा कहलाता है। यह भाषा उन स्थितियों पर चर्चा करने के लिए एक सामान्य शब्दावली देती है जिनका डिजाइनरों को सामना करना पड़ता है।
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.
— Christopher Alexander, A Pattern Language[1]
किसी पैटर्न का दस्तावेजीकरण करने के लिए यह समझाने की आवश्यकता होती है कि कोई विशेष स्थिति समस्याएँ क्यों पैदा करती है, और समाधान देने के लिए पैटर्न के घटक एक-दूसरे से कैसे संबंधित होते हैं।[3] क्रिस्टोफर एलेक्जेंडर आम डिज़ाइन समस्याओं को परस्पर विरोधी ताकतों से उत्पन्न होने वाली समस्याओं के रूप में वर्णित करते हैं - जैसे कि एक कमरे में धूप होना चाहते हैं और यह चाहते हैं कि गर्मी की दोपहर में यह अधिक गर्म न हो, के बीच संघर्ष। एक पैटर्न डिज़ाइनर को यह नहीं बताएगा कि कमरे में कितनी खिड़कियाँ लगानी हैं; इसके बजाय, यह डिज़ाइनर को ऐसे निर्णय की ओर मार्गदर्शन करने के लिए मूल्यों का एक सेट प्रस्तावित करेगा जो उनके विशेष अनुप्रयोग के लिए सर्वोत्तम है। उदाहरण के लिए, अलेक्जेंडर का सुझाव है कि कमरे के चारों ओर सीधी रोशनी के लिए पर्याप्त खिड़कियाँ शामिल की जानी चाहिए। वह इसे एक अच्छा समाधान मानते हैं क्योंकि उनका मानना है कि इससे कमरे में रहने वालों का आनंद बढ़ जाता है। अन्य लेखक अलग-अलग निष्कर्ष पर आ सकते हैं, यदि वे हीटिंग लागत, या सामग्री लागत को अधिक महत्व देते हैं। ये मान, जो पैटर्न के लेखक द्वारा यह निर्धारित करने के लिए उपयोग किए जाते हैं कि कौन सा समाधान सबसे अच्छा है, को भी पैटर्न के भीतर प्रलेखित किया जाना चाहिए।
पैटर्न दस्तावेज़ीकरण को यह भी स्पष्ट करना चाहिए कि यह कब लागू होता है। चूँकि दो घर एक-दूसरे से बहुत भिन्न हो सकते हैं, इसलिए घरों के लिए डिज़ाइन पैटर्न इतना व्यापक होना चाहिए कि उन दोनों पर लागू हो सके, लेकिन इतना अस्पष्ट नहीं कि यह डिज़ाइनर को निर्णय लेने में मदद न करे। स्थितियों की वह श्रृंखला जिसमें किसी पैटर्न का उपयोग किया जा सकता है उसे उसका संदर्भ कहा जाता है। कुछ उदाहरण सभी घर, सभी दो मंजिला घर, या वे सभी स्थान हो सकते हैं जहां लोग समय बिताते हैं।
उदाहरण के लिए, क्रिस्टोफर अलेक्जेंडर के काम में, सर्जरी सेंटर में बस स्टॉप और वेटिंग रूम दोनों ही पैटर्न ए प्लेस टू वेट के संदर्भ में हैं।
उदाहरण
- सॉफ़्टवेयर डिज़ाइन पैटर्न , सॉफ्टवेयर डिजाइन में
- सॉफ्टवेयर आर्किटेक्चर के लिए वास्तुशिल्प पैटर्न
- इंटरेक्शन डिज़ाइन पैटर्न, इंटरेक्शन डिज़ाइन/मानव-कंप्यूटर इंटरैक्शन में उपयोग किया जाता है
- शिक्षण में शैक्षणिक पैटर्न
- पैटर्न बागवानी, बागवानी में
बिजनेस मॉडल में डिज़ाइन पैटर्न भी होते हैं।[4] देखना Business model § Examples.
यह भी देखें
- शैली गाइड
- डिज़ाइन प्रतिमान
- विरोधी पैटर्न
- गहरा पैटर्न
संदर्भ
- ↑ 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.