वास्तुशिल्प पैटर्न
एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में सॉफ़्टवेयर वास्तुशिल्प में सामान्यतः होने वाली समस्या का एक सामान्य पुन: प्रयोज्य समाधान है।[1] वास्तुशिल्प पैटर्न सॉफ्टवेयर इंजीनियरिंग में विभिन्न उद्देश्यों को संबोधित करते हैं, जैसे कंप्यूटर हार्डवेयर प्रदर्शन सीमाएं, उच्च उपलब्धता और व्यावसायिक कठिन परिस्थितियों को कम करना। कुछ वास्तुशिल्प पैटर्न को सॉफ्टवेयर रूपरेखा के अंदर प्रयुक्त किया गया है।
सॉफ्टवेयर उद्योग में पैटर्न शब्द का उपयोग पारंपरिक वास्तुकला में व्यक्त समान अवधारणाओं से प्रभावित था, जैसे कि क्रिस्टोफर अलेक्जेंडर की एक पैटर्न भाषा (1977) जिसमें एक पैटर्न भाषा स्थापित करने के संदर्भ में अभ्यास पर चर्चा की गई, जिसने कंप्यूटर विज्ञान के अभ्यासकर्ताओं को प्रेरित किया था। अपने स्वयं के डिज़ाइन शब्दकोष पर विचार करें।
सॉफ्टवेयर इंजीनियरिंग व्यवसाय के अंदर इस रूपक का उपयोग एरिच गामा, रिचर्ड हेल्म, राल्फ जॉनसन (कंप्यूटर वैज्ञानिक) और जॉन व्लिसाइड्स द्वारा डिजाइन पैटर्न्स (1994) के प्रकाशन के बाद समान्य हो गया - जिसे अब सामान्यतः गैंग ऑफ फोर के रूप में जाना जाता है - के साथ मेल खाता है सार्वजनिक इंटरनेट के प्रारंभिक वर्ष, दुनिया को निगलने वाली जटिल सॉफ्टवेयर प्रणालियों की प्रारंभिक का प्रतीक हैं[2] और इसके अनुरूप सॉफ्टवेयर विकास की तेजी से फैलती दुनिया को लचीले और अनुकूली रहते हुए यथासंभव गहरे स्तर पर संहिताबद्ध करने की आवश्यकता है।
वास्तुशिल्प पैटर्न सॉफ़्टवेयर डिज़ाइन पैटर्न के समान हैं किंतु इनका सीमा व्यापक है।
परिभाषा
तथापि एक वास्तुशिल्प पैटर्न एक प्रणाली की छवि बताता है, यह एक वास्तुकला नहीं है। आर्किटेक्चरल पैटर्न एक अवधारणा है जो सॉफ्टवेयर आर्किटेक्चर के कुछ आवश्यक सामंजस्यपूर्ण तत्वों को हल और चित्रित करती है। अनगिनत अलग-अलग आर्किटेक्चर एक ही पैटर्न को प्रयुक्त कर सकते हैं और संबंधित विशेषताओं को साझा कर सकते हैं। पैटर्न को अधिकांशतः कड़ाई से वर्णित और सामान्य रूप से उपलब्ध के रूप में परिभाषित किया जाता है।[3][4]
वास्तुकला शैली
पारंपरिक भवन वास्तुकला के बाद, एक सॉफ्टवेयर वास्तुशिल्प शैली निर्माण की एक विशिष्ट विधि है, जो उन विशेषताओं की विशेषता है जो इसे उल्लेखनीय बनाती हैं।
एक वास्तुशिल्प शैली परिभाषित करती है: संरचनात्मक संगठन के पैटर्न के संदर्भ में प्रणालियों का एक परिवार; घटकों और कनेक्टर्स की एक शब्दावली, जिसमें उन्हें कैसे संयोजित किया जा सकता है, इस पर सीमाएं सम्मिलित हैं.[5]
एक वास्तुशिल्प शैली वास्तुशिल्प डिजाइन निर्णयों का एक नामांकित संग्रह है जो (1) किसी दिए गए विकास संदर्भ में प्रयुक्त होते हैं, (2) वास्तुशिल्प डिजाइन निर्णयों को बाधित करते हैं जो उस संदर्भ में एक विशेष प्रणाली के लिए विशिष्ट होते हैं, और (3) प्रत्येक में लाभकारी गुण उत्पन्न करते हैं परिणामी प्रणाली.[1]
कुछ लोग वास्तुशिल्प पैटर्न और वास्तुशिल्प शैलियों को एक ही मानते हैं,[6] कुछ लोग शैलियों को पैटर्न की विशेषज्ञता के रूप में मानते हैं। उनमें जो समानता है वह यह है कि पैटर्न और शैलियाँ दोनों वास्तुकारों के उपयोग के लिए मुहावरे हैं, वे एक सामान्य भाषा प्रदान करते हैं[6] या शब्दावली[5] जिससे सिस्टम के वर्गों का वर्णन किया जा सकता है।
मुख्य अंतर यह है कि एक पैटर्न को किसी समस्या के समाधान के रूप में देखा जा सकता है, जबकि एक शैली अधिक सामान्य होती है और इसके स्वरूप के लिए किसी समस्या को हल करने की आवश्यकता नहीं होती है।
उदाहरण
यहां आर्किटेक्चर पैटर्न और संबंधित सॉफ़्टवेयर डिज़ाइन पैटर्न और समाधान वास्तुकला की एक सूची दी गई है।
उप-डोमेन क्षेत्र | वास्तुशिल्प पैटर्न | सॉफ़्टवेयर डिज़ाइन पैटर्न | समाधान पैटर्न | संबंधित पैटर्न |
---|---|---|---|---|
डेटा एकीकरण/एसओए |
|
| ||
|
|
|||
डेटा आर्किटेक्चर |
|
|
| |
एनालिटिक्स और बिजनेस इंटेलिजेंस |
|
|
|
|
मास्टर डेटा प्रबंधन |
|
|
| |
डेटा मॉडलिंग |
|
|||
अर्त्फ़िकिअल इंटेलिजेंस |
|
|
वास्तुशिल्प पैटर्न के कुछ अतिरिक्त उदाहरण:
- ब्लैकबोर्ड (डिज़ाइन पैटर्न)
- ब्रोकर पैटर्न
- घटना-संचालित वास्तुकला
- निहित आह्वान
- परत (वस्तु-उन्मुख डिज़ाइन)
- हेक्सागोनल वास्तुकला (सॉफ्टवेयर)
- माइक्रोसर्विसेज
- क्रिया-डोमेन-उत्तरदाता,
- मॉडल-दृश्य-नियंत्रक
- प्रस्तुति-अमूर्तीकरण-नियंत्रण
- मॉडल-दृश्य-प्रस्तोता
- मॉडल-व्यू-व्यूमॉडल
- मॉडल-व्यू-एडेप्टर
- इकाई घटक प्रणाली
- इकाई-नियंत्रण-सीमा
- बहुस्तरीय वास्तुकला ( अधिकांशतः तीन-स्तरीय या n-स्तर)
- ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग
- नग्न वस्तुएँ
- ऑपरेशनल डेटा स्टोर (ओडीएस)
- पीयर टू पीयर
- पाइप और फिल्टर वास्तुकला
- सेवा उन्मुख संरचना
- अंतरिक्ष आधारित वास्तुकला
- वितरित हैश तालिका
- प्रकाशन-सदस्यता पैटर्न
- संदेश दलाल
- पदानुक्रमित मॉडल-दृश्य-नियंत्रक
यह भी देखें
- सॉफ्टवेयर आर्किटेक्चर शैलियों और पैटर्न की सूची
- प्रक्रिया संचालित संदेश सेवा
- उद्यम स्थापत्य
- सूचना प्रणाली तार्किक वास्तुकला में सामान्य परतें
संदर्भ
- ↑ 1.0 1.1 Taylor, R.N.; Medvidović, N.; Dashofy, E.M. (2009). Software architecture: Foundations, Theory and Practice. Wiley. ISBN 9780470167748.
- ↑ Andreessen, Marc (20 August 2011). "Why Software Is Eating The World". The Wall Street Journal. Retrieved 25 April 2020.
- ↑ Chang, Chih-Hung; Lu, Chih-Wei; Lin, Chih-Hao; Yang, Ming-Feng; Tsai, Ching-Fu (June 2008). "An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F". Journal of Software Engineering Studies, Vol. 2, No. 6. the Third Taiwan Conference on Software Engineering (TCSE07). pp. 185–194. Archived from the original on 2011-09-22. Retrieved 2012-05-16.
Furthermore, patterns are often defined as something "strictly described and commonly available". For example, layered architecture is a call-and-return style, when it defines an overall style to interact.
- ↑ "Architectural Patterns: Definition". AAHN INFOTECH (INDIA) PVT. LTD. Archived from the original on 2012-06-23. Retrieved 2012-05-16.
Even though an architectural pattern conveys an image of a system, it is not an architecture as such. An architectural pattern is rather a concept that solves and delineates some essential cohesive elements of a software architecture. Countless different architectures may implement the same pattern and thereby share the related characteristics. Furthermore, patterns are often defined as something "strictly described and commonly available".
- ↑ 5.0 5.1 Shaw, M.; Garlan, D. (1996). Software architecture : perspectives on an emerging discipline. Prentice Hall. ISBN 9780131829572.
- ↑ 6.0 6.1 "Ch. 3: Architectural Patterns and Styles". माइक्रोसॉफ्ट एप्लिकेशन आर्किटेक्चर गाइड (2nd ed.). Microsoft Press. October 2009. ISBN 9780735627109.
ग्रन्थसूची
- Avgeriou, Paris; Zdun, Uwe (2005). "Architectural patterns revisited:a pattern language" (PDF). 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, Germany, July. UVK Verlagsgesellschaft. pp. 1–39. CiteSeerX 10.1.1.141.7444. ISBN 9783879408054.
- Buschmann F.; Meunier R.; Rohnert H.; Sommerlad P.; Stal M. (1996). Pattern-Oriented Software Architecture: A System of Patterns. Wiley. ISBN 9781118725269.
- Bass L.; Clements P.; Kazman R. (2003). Software Architecture in Practice. Addison-Wesley. ISBN 9780321154958.