वास्तुशिल्प पैटर्न

From Vigyanwiki

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

सॉफ्टवेयर उद्योग में पैटर्न शब्द का उपयोग पारंपरिक वास्तुकला में व्यक्त समान अवधारणाओं से प्रभावित था, जैसे कि क्रिस्टोफर अलेक्जेंडर की एक पैटर्न भाषा (1977) जिसमें एक पैटर्न भाषा स्थापित करने के संदर्भ में अभ्यास पर चर्चा की गई, जिसने कंप्यूटर विज्ञान के अभ्यासकर्ताओं को प्रेरित किया था। अपने स्वयं के डिज़ाइन शब्दकोष पर विचार करें।

सॉफ्टवेयर इंजीनियरिंग व्यवसाय के अंदर इस रूपक का उपयोग एरिच गामा, रिचर्ड हेल्म, राल्फ जॉनसन (कंप्यूटर वैज्ञानिक) और जॉन व्लिसाइड्स द्वारा डिजाइन पैटर्न्स (1994) के प्रकाशन के बाद समान्य हो गया - जिसे अब सामान्यतः गैंग ऑफ फोर के रूप में जाना जाता है - के साथ मेल खाता है सार्वजनिक इंटरनेट के प्रारंभिक वर्ष, दुनिया को निगलने वाली जटिल सॉफ्टवेयर प्रणालियों की प्रारंभिक का प्रतीक हैं[2] और इसके अनुरूप सॉफ्टवेयर विकास की तेजी से फैलती दुनिया को लचीले और अनुकूली रहते हुए यथासंभव गहरे स्तर पर संहिताबद्ध करने की आवश्यकता है।

वास्तुशिल्प पैटर्न सॉफ़्टवेयर डिज़ाइन पैटर्न के समान हैं किंतु इनका सीमा व्यापक है।

परिभाषा

तथापि एक वास्तुशिल्प पैटर्न एक प्रणाली की छवि बताता है, यह एक वास्तुकला नहीं है। आर्किटेक्चरल पैटर्न एक अवधारणा है जो सॉफ्टवेयर आर्किटेक्चर के कुछ आवश्यक सामंजस्यपूर्ण तत्वों को हल और चित्रित करती है। अनगिनत अलग-अलग आर्किटेक्चर एक ही पैटर्न को प्रयुक्त कर सकते हैं और संबंधित विशेषताओं को साझा कर सकते हैं। पैटर्न को अधिकांशतः कड़ाई से वर्णित और सामान्य रूप से उपलब्ध के रूप में परिभाषित किया जाता है।[3][4]

वास्तुकला शैली

पारंपरिक भवन वास्तुकला के बाद, एक सॉफ्टवेयर वास्तुशिल्प शैली निर्माण की एक विशिष्ट विधि है, जो उन विशेषताओं की विशेषता है जो इसे उल्लेखनीय बनाती हैं।

एक वास्तुशिल्प शैली परिभाषित करती है: संरचनात्मक संगठन के पैटर्न के संदर्भ में प्रणालियों का एक परिवार; घटकों और कनेक्टर्स की एक शब्दावली, जिसमें उन्हें कैसे संयोजित किया जा सकता है, इस पर सीमाएं सम्मिलित हैं.[5]

एक वास्तुशिल्प शैली वास्तुशिल्प डिजाइन निर्णयों का एक नामांकित संग्रह है जो (1) किसी दिए गए विकास संदर्भ में प्रयुक्त होते हैं, (2) वास्तुशिल्प डिजाइन निर्णयों को बाधित करते हैं जो उस संदर्भ में एक विशेष प्रणाली के लिए विशिष्ट होते हैं, और (3) प्रत्येक में लाभकारी गुण उत्पन्न करते हैं परिणामी प्रणाली.[1]

कुछ लोग वास्तुशिल्प पैटर्न और वास्तुशिल्प शैलियों को एक ही मानते हैं,[6] कुछ लोग शैलियों को पैटर्न की विशेषज्ञता के रूप में मानते हैं। उनमें जो समानता है वह यह है कि पैटर्न और शैलियाँ दोनों वास्तुकारों के उपयोग के लिए मुहावरे हैं, वे एक सामान्य भाषा प्रदान करते हैं[6] या शब्दावली[5] जिससे सिस्टम के वर्गों का वर्णन किया जा सकता है।

मुख्य अंतर यह है कि एक पैटर्न को किसी समस्या के समाधान के रूप में देखा जा सकता है, जबकि एक शैली अधिक सामान्य होती है और इसके स्वरूप के लिए किसी समस्या को हल करने की आवश्यकता नहीं होती है।

उदाहरण

यहां आर्किटेक्चर पैटर्न और संबंधित सॉफ़्टवेयर डिज़ाइन पैटर्न और समाधान वास्तुकला की एक सूची दी गई है।

उप-डोमेन क्षेत्र वास्तुशिल्प पैटर्न सॉफ़्टवेयर डिज़ाइन पैटर्न समाधान पैटर्न संबंधित पैटर्न
डेटा एकीकरण/एसओए
  • ईएआई
  • मास्टर डेटा हब
  • ऑपरेशनल डेटा स्टोर (ओडीएस)
  • डेटा मार्ट
  • डेटा वेयरहाउस
  • ईएआई/ईएसबी
  • वन वे
  • समकालिक अनुरोध/प्रतिक्रिया
  • मूलभूत कॉलबैक
  • क्लेम चेक
डेटा आर्किटेक्चर
  • कस्टम एप्लिकेशन डेटाबेस
  • पैकेज्ड एप्लिकेशन डेटाबेस
  • ईटीएल
  • ईएआई
  • एसओए
एनालिटिक्स और बिजनेस इंटेलिजेंस
  • लेन-देन संबंधी रिपोर्टिंग
  • परिचालन विश्लेषण
  • व्यापारिक विश्लेषणात्मक
  • भविष्य बतानेवाला विश्लेषक
  • अनुदेशात्मक विश्लेषण
  • स्ट्रीमिंग विश्लेषण
  • डेटा विज्ञान और उन्नत विश्लेषण
  • एनएलपी
  • लेन-देन संबंधी रिपोर्टिंग डेटा का उपयोग
  • परिचालन रिपोर्टिंग डेटा पहुंच
  • विश्लेषणात्मक रिपोर्टिंग डेटा पहुंच
  • विश्लेषणात्मक डैशबोर्ड डेटा एक्सेस
  • ऑपरेशनल डैशबोर्ड डेटा एक्सेस
  • डेटा खनन
  • वास्तविक समय के डैशबोर्ड
  • इन-मेमोरी एनालिटिक्स
  • सांख्यिकीय विश्लेषण
  • भविष्य बतानेवाला विश्लेषक
  • ईटीएल
  • ईएआई
  • टीडीएस
  • ऑपरेशनल डेटा स्टोर
  • डेटा मार्ट
मास्टर डेटा प्रबंधन
  • मास्टर डेटा हब
  • मास्टर डेटा प्रतिकृति
  • मास्टर डेटा सेवाएँ
  • मास्टर डेटा सिंक्रनाइज़ेशन
  • डेटा कैप्चर बदलें
  • ईएआई
  • एसटीडी
डेटा मॉडलिंग
  • मॉडलिंग मानक
  • नामकरण की परंपरा
अर्त्फ़िकिअल इंटेलिजेंस
  • निर्णय प्रबंधन
  • वाक् पहचान
  • टेक्स्ट एनालिटिक्स और एनएलपी
  • प्राकृतिक भाषा पीढ़ी
  • क्लासिक मशीन लर्निंग
  • ध्यान लगा के पढ़ना या सीखना
  • रोबोटिक प्रक्रिया स्वचालन
  • छवि और वीडियो विश्लेषण

वास्तुशिल्प पैटर्न के कुछ अतिरिक्त उदाहरण:

यह भी देखें

संदर्भ

  1. 1.0 1.1 Taylor, R.N.; Medvidović, N.; Dashofy, E.M. (2009). Software architecture: Foundations, Theory and Practice. Wiley. ISBN 9780470167748.
  2. Andreessen, Marc (20 August 2011). "Why Software Is Eating The World". The Wall Street Journal. Retrieved 25 April 2020.
  3. 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.
  4. "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. 5.0 5.1 Shaw, M.; Garlan, D. (1996). Software architecture : perspectives on an emerging discipline. Prentice Hall. ISBN 9780131829572.
  6. 6.0 6.1 "Ch. 3: Architectural Patterns and Styles". माइक्रोसॉफ्ट एप्लिकेशन आर्किटेक्चर गाइड (2nd ed.). Microsoft Press. October 2009. ISBN 9780735627109.


ग्रन्थसूची