वास्तुशिल्प पैटर्न
एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में सॉफ़्टवेयर वास्तुशिल्प में आम तौर पर होने वाली समस्या का एक सामान्य, पुन: प्रयोज्य समाधान है।[1] वास्तुशिल्प पैटर्न सॉफ्टवेयर इंजीनियरिंग में विभिन्न मुद्दों को संबोधित करते हैं, जैसे कंप्यूटर हार्डवेयर प्रदर्शन सीमाएं, उच्च उपलब्धता और व्यावसायिक जोखिम को कम करना। कुछ वास्तुशिल्प पैटर्न को सॉफ्टवेयर ढांचे के भीतर लागू किया गया है।
सॉफ्टवेयर उद्योग में पैटर्न शब्द का उपयोग पारंपरिक वास्तुकला में व्यक्त समान अवधारणाओं से प्रभावित था, जैसे कि क्रिस्टोफर अलेक्जेंडर की एक पैटर्न भाषा (1977) जिसमें एक पैटर्न भाषा स्थापित करने के संदर्भ में अभ्यास पर चर्चा की गई, जिसने कंप्यूटर विज्ञान के अभ्यासकर्ताओं को प्रेरित किया। अपने स्वयं के डिज़ाइन शब्दकोष पर विचार करें।
सॉफ्टवेयर इंजीनियरिंग पेशे के भीतर इस रूपक का उपयोग एरिच गामा, रिचर्ड हेल्म, राल्फ जॉनसन (कंप्यूटर वैज्ञानिक) और जॉन व्लिसाइड्स द्वारा डिजाइन पैटर्न्स (1994) के प्रकाशन के बाद आम हो गया - जिसे अब आमतौर पर गैंग ऑफ फोर के रूप में जाना जाता है - के साथ मेल खाता है सार्वजनिक इंटरनेट के प्रारंभिक वर्ष, दुनिया को निगलने वाली जटिल सॉफ्टवेयर प्रणालियों की शुरुआत का प्रतीक हैं[2] और इसके अनुरूप सॉफ्टवेयर विकास की तेजी से फैलती दुनिया को लचीले और अनुकूली रहते हुए यथासंभव गहरे स्तर पर संहिताबद्ध करने की आवश्यकता है।
वास्तुशिल्प पैटर्न सॉफ़्टवेयर डिज़ाइन पैटर्न के समान हैं लेकिन इनका दायरा व्यापक है।
परिभाषा
भले ही एक वास्तुशिल्प पैटर्न एक प्रणाली की छवि बताता है, यह एक वास्तुकला नहीं है। आर्किटेक्चरल पैटर्न एक अवधारणा है जो सॉफ्टवेयर आर्किटेक्चर के कुछ आवश्यक सामंजस्यपूर्ण तत्वों को हल और चित्रित करती है। अनगिनत अलग-अलग आर्किटेक्चर एक ही पैटर्न को लागू कर सकते हैं और संबंधित विशेषताओं को साझा कर सकते हैं। पैटर्न को अक्सर कड़ाई से वर्णित और सामान्य रूप से उपलब्ध के रूप में परिभाषित किया जाता है।[3][4]
वास्तुकला शैली
पारंपरिक भवन वास्तुकला के बाद, एक सॉफ्टवेयर वास्तुशिल्प शैली निर्माण की एक विशिष्ट विधि है, जो उन विशेषताओं की विशेषता है जो इसे उल्लेखनीय बनाती हैं।
An architectural style defines: a family of systems in terms of a pattern of structural organization; a vocabulary of components and connectors, with constraints on how they can be combined.[5]
An architectural style is a named collection of architectural design decisions that (1) are applicable in a given development context, (2) constrain architectural design decisions that are specific to a particular system within that context, and (3) elicit beneficial qualities in each resulting system.[1]
कुछ लोग वास्तुशिल्प पैटर्न और वास्तुशिल्प शैलियों को एक ही मानते हैं,[6] कुछ लोग शैलियों को पैटर्न की विशेषज्ञता के रूप में मानते हैं। उनमें जो समानता है वह यह है कि पैटर्न और शैलियाँ दोनों वास्तुकारों के उपयोग के लिए मुहावरे हैं, वे एक सामान्य भाषा प्रदान करते हैं[6]या शब्दावली[5]जिससे सिस्टम के वर्गों का वर्णन किया जा सके।
मुख्य अंतर यह है कि एक पैटर्न को किसी समस्या के समाधान के रूप में देखा जा सकता है, जबकि एक शैली अधिक सामान्य होती है और इसके स्वरूप के लिए किसी समस्या को हल करने की आवश्यकता नहीं होती है।
उदाहरण
यहां आर्किटेक्चर पैटर्न और संबंधित सॉफ़्टवेयर डिज़ाइन पैटर्न और समाधान वास्तुकला की एक सूची दी गई है।
Sub-domain area | Architecture pattern | Software design patterns | Solution patterns | Related patterns |
---|---|---|---|---|
Data integration/SOA |
|
| ||
|
||||
Data architecture |
|
| ||
Analytics and business intelligence |
|
|
|
|
Master data management |
|
|
| |
Data modeling |
|
|||
Artificial intelligence |
|
|
वास्तुशिल्प पैटर्न के कुछ अतिरिक्त उदाहरण:
- ब्लैकबोर्ड (डिज़ाइन पैटर्न)
- ब्रोकर पैटर्न
- घटना-संचालित वास्तुकला
- निहित आह्वान
- परत (वस्तु-उन्मुख डिज़ाइन)
- हेक्सागोनल वास्तुकला (सॉफ्टवेयर)
- माइक्रोसर्विसेज
- क्रिया-डोमेन-उत्तरदाता,
- मॉडल-दृश्य-नियंत्रक
- प्रस्तुति-अमूर्तीकरण-नियंत्रण
- मॉडल-दृश्य-प्रस्तोता
- मॉडल-व्यू-व्यूमॉडल
- मॉडल-व्यू-एडेप्टर
- इकाई घटक प्रणाली
- इकाई-नियंत्रण-सीमा
- बहुस्तरीय वास्तुकला (अक्सर तीन-स्तरीय या 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.