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

From Vigyanwiki
Revision as of 18:22, 25 June 2023 by alpha>Indicwiki (Created page with "{{Short description|Term in software engineering for a reusable solution to a common problem}} {{for|the use of the word "pattern" in the field of architecture|Pattern (archit...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में सॉफ़्टवेयर वास्तुशिल्प में आम तौर पर होने वाली समस्या का एक सामान्य, पुन: प्रयोज्य समाधान है।[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
  • One-way
  • Synchronous request/response
  • Basic callback
  • Claim check
Data architecture
  • Custom applications databases
  • Packaged application databases
  • ETL
  • EAI
  • SOA
Analytics and business intelligence
  • Transactional reporting
  • Operational analytics
  • Business analytics
  • Predictive analytics
  • Prescriptive analytics
  • Streaming analytics
  • Data science and advanced analytics
  • NLP
  • Transactional reporting data access
  • Operational reporting data access
  • Analytical reporting data access
  • Analytical dashboard data access
  • Operational dashboard data access
  • Data mining
  • ETL
  • EAI
  • TDS
  • Operational data store
  • Data mart
Master data management
  • Master data hub
  • Master data replication
  • Master data services
  • Master data synchronization
Data modeling
  • Modeling standards
  • Naming conventions
Artificial intelligence

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

यह भी देखें

संदर्भ

  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.


ग्रन्थसूची