वास्तुशिल्प पैटर्न: Difference between revisions

From Vigyanwiki
(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...")
 
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Term in software engineering for a reusable solution to a common problem}}
{{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 (architecture)}}
{{for|वास्तुकला के क्षेत्र में "पैटर्न" शब्द का प्रयोग|पैटर्न (वास्तुकला)}}


एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में [[सॉफ़्टवेयर वास्तुशिल्प]] में आम तौर पर होने वाली समस्या का एक सामान्य, पुन: प्रयोज्य समाधान है।<ref name="TMD">{{cite book |first1=R.N. |last1=Taylor |first2=N. |last2=Medvidović |first3=E.M. |last3=Dashofy |title=Software architecture: Foundations, Theory and Practice |publisher=Wiley |date=2009 |isbn=9780470167748 |url=https://books.google.com/books?id=npB5DwAAQBAJ&pg=PR1}}</ref> वास्तुशिल्प पैटर्न [[सॉफ्टवेयर इंजीनियरिंग]] में विभिन्न मुद्दों को संबोधित करते हैं, जैसे [[कंप्यूटर हार्डवेयर]] प्रदर्शन सीमाएं, [[उच्च उपलब्धता]] और व्यावसायिक जोखिम को कम करना। कुछ वास्तुशिल्प पैटर्न को सॉफ्टवेयर ढांचे के भीतर लागू किया गया है।
एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में [[सॉफ़्टवेयर वास्तुशिल्प]] में सामान्यतः होने वाली समस्या का एक सामान्य पुन: प्रयोज्य समाधान है।<ref name="TMD">{{cite book |first1=R.N. |last1=Taylor |first2=N. |last2=Medvidović |first3=E.M. |last3=Dashofy |title=Software architecture: Foundations, Theory and Practice |publisher=Wiley |date=2009 |isbn=9780470167748 |url=https://books.google.com/books?id=npB5DwAAQBAJ&pg=PR1}}</ref> वास्तुशिल्प पैटर्न [[सॉफ्टवेयर इंजीनियरिंग]] में विभिन्न उद्देश्यों को संबोधित करते हैं, जैसे [[कंप्यूटर हार्डवेयर]] प्रदर्शन सीमाएं, [[उच्च उपलब्धता]] और व्यावसायिक कठिन परिस्थितियों को कम करना। कुछ वास्तुशिल्प पैटर्न को सॉफ्टवेयर रूपरेखा के अंदर प्रयुक्त किया गया है।


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


सॉफ्टवेयर इंजीनियरिंग पेशे के भीतर इस [[रूपक]] का उपयोग एरिच गामा, [[रिचर्ड हेल्म]], [[राल्फ जॉनसन (कंप्यूटर वैज्ञानिक)]] और [[जॉन व्लिसाइड्स]] द्वारा [[डिजाइन पैटर्न्स]] (1994) के प्रकाशन के बाद आम हो गया - जिसे अब आमतौर पर गैंग ऑफ फोर के रूप में जाना जाता है - के साथ मेल खाता है सार्वजनिक [[इंटरनेट]] के प्रारंभिक वर्ष, दुनिया को निगलने वाली जटिल सॉफ्टवेयर प्रणालियों की शुरुआत का प्रतीक हैं<ref>{{cite news  
सॉफ्टवेयर इंजीनियरिंग व्यवसाय के अंदर इस [[रूपक]] का उपयोग एरिच गामा, [[रिचर्ड हेल्म]], [[राल्फ जॉनसन (कंप्यूटर वैज्ञानिक)]] और [[जॉन व्लिसाइड्स]] द्वारा [[डिजाइन पैटर्न्स]] (1994) के प्रकाशन के बाद समान्य हो गया - जिसे अब सामान्यतः गैंग ऑफ फोर के रूप में जाना जाता है - के साथ मेल खाता है सार्वजनिक [[इंटरनेट]] के प्रारंभिक वर्ष, दुनिया को निगलने वाली जटिल सॉफ्टवेयर प्रणालियों की प्रारंभिक का प्रतीक हैं<ref>{{cite news  
   |last=Andreessen
   |last=Andreessen
   |first=Marc  
   |first=Marc  
Line 17: Line 17:
}}</ref> और इसके अनुरूप सॉफ्टवेयर विकास की तेजी से फैलती दुनिया को लचीले और अनुकूली रहते हुए यथासंभव गहरे स्तर पर संहिताबद्ध करने की आवश्यकता है।
}}</ref> और इसके अनुरूप सॉफ्टवेयर विकास की तेजी से फैलती दुनिया को लचीले और अनुकूली रहते हुए यथासंभव गहरे स्तर पर संहिताबद्ध करने की आवश्यकता है।


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


==परिभाषा==
==परिभाषा==
भले ही एक वास्तुशिल्प पैटर्न एक प्रणाली की छवि बताता है, यह एक वास्तुकला नहीं है। आर्किटेक्चरल पैटर्न एक अवधारणा है जो सॉफ्टवेयर आर्किटेक्चर के कुछ आवश्यक सामंजस्यपूर्ण तत्वों को हल और चित्रित करती है। अनगिनत अलग-अलग आर्किटेक्चर एक ही पैटर्न को लागू कर सकते हैं और संबंधित विशेषताओं को साझा कर सकते हैं। पैटर्न को अक्सर कड़ाई से वर्णित और सामान्य रूप से उपलब्ध के रूप में परिभाषित किया जाता है।<ref>{{cite web
तथापि एक वास्तुशिल्प पैटर्न एक प्रणाली की छवि बताता है, यह एक वास्तुकला नहीं है। आर्किटेक्चरल पैटर्न एक अवधारणा है जो सॉफ्टवेयर आर्किटेक्चर के कुछ आवश्यक सामंजस्यपूर्ण तत्वों को हल और चित्रित करती है। अनगिनत अलग-अलग आर्किटेक्चर एक ही पैटर्न को प्रयुक्त कर सकते हैं और संबंधित विशेषताओं को साझा कर सकते हैं। पैटर्न को अधिकांशतः कड़ाई से वर्णित और सामान्य रूप से उपलब्ध के रूप में परिभाषित किया जाता है।<ref>{{cite web
  |url=http://jses.seat.org.tw/index.php/jses/article/viewFile/41/30  
  |url=http://jses.seat.org.tw/index.php/jses/article/viewFile/41/30  
  |title=An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F  
  |title=An Experience of Applying Pattern-based Software Framework to Improve the Quality of Software Development: 4. The Design and Implementation of OS2F  
Line 52: Line 52:
  |archive-date=2012-06-23  
  |archive-date=2012-06-23  
}}</ref>
}}</ref>
==वास्तुकला शैली==
==वास्तुकला शैली==
पारंपरिक भवन वास्तुकला के बाद, एक सॉफ्टवेयर वास्तुशिल्प शैली निर्माण की एक विशिष्ट विधि है, जो उन विशेषताओं की विशेषता है जो इसे उल्लेखनीय बनाती हैं।
पारंपरिक भवन वास्तुकला के बाद, एक सॉफ्टवेयर वास्तुशिल्प शैली निर्माण की एक विशिष्ट विधि है, जो उन विशेषताओं की विशेषता है जो इसे उल्लेखनीय बनाती हैं।


{{cquote|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.<ref name=SG>{{cite book |last1=Shaw |first1=M. |last2=Garlan |first2=D. |title=Software architecture : perspectives on an emerging discipline |publisher=Prentice Hall |date=1996 |isbn= 9780131829572 }}</ref>}}
{{cquote|एक वास्तुशिल्प शैली परिभाषित करती है: संरचनात्मक संगठन के पैटर्न के संदर्भ में प्रणालियों का एक परिवार; घटकों और कनेक्टर्स की एक शब्दावली, जिसमें उन्हें कैसे संयोजित किया जा सकता है, इस पर सीमाएं सम्मिलित हैं.<ref name=SG>{{cite book |last1=Shaw |first1=M. |last2=Garlan |first2=D. |title=Software architecture : perspectives on an emerging discipline |publisher=Prentice Hall |date=1996 |isbn= 9780131829572 }}</ref>}}


{{cquote|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.<ref name="TMD"/>}}
{{cquote|एक वास्तुशिल्प शैली वास्तुशिल्प डिजाइन निर्णयों का एक नामांकित संग्रह है जो (1) किसी दिए गए विकास संदर्भ में प्रयुक्त होते हैं, (2) वास्तुशिल्प डिजाइन निर्णयों को बाधित करते हैं जो उस संदर्भ में एक विशेष प्रणाली के लिए विशिष्ट होते हैं, और (3) प्रत्येक में लाभकारी गुण उत्पन्न करते हैं परिणामी प्रणाली.<ref name="TMD"/>}}


कुछ लोग वास्तुशिल्प पैटर्न और वास्तुशिल्प शैलियों को एक ही मानते हैं,<ref name=MSDN>{{Cite book | chapter-url=http://msdn.microsoft.com/en-us/library/ee658117.aspx |chapter = Ch. 3: Architectural Patterns and Styles |title=माइक्रोसॉफ्ट एप्लिकेशन आर्किटेक्चर गाइड|edition=2nd |date=October 2009 |publisher=Microsoft Press |isbn=9780735627109}}</ref> कुछ लोग शैलियों को पैटर्न की विशेषज्ञता के रूप में मानते हैं। उनमें जो समानता है वह यह है कि पैटर्न और शैलियाँ दोनों वास्तुकारों के उपयोग के लिए मुहावरे हैं, वे एक सामान्य भाषा प्रदान करते हैं<ref name=MSDN/>या शब्दावली<ref name=SG/>जिससे सिस्टम के वर्गों का वर्णन किया जा सके।
कुछ लोग वास्तुशिल्प पैटर्न और वास्तुशिल्प शैलियों को एक ही मानते हैं,<ref name=MSDN>{{Cite book | chapter-url=http://msdn.microsoft.com/en-us/library/ee658117.aspx |chapter = Ch. 3: Architectural Patterns and Styles |title=माइक्रोसॉफ्ट एप्लिकेशन आर्किटेक्चर गाइड|edition=2nd |date=October 2009 |publisher=Microsoft Press |isbn=9780735627109}}</ref> कुछ लोग शैलियों को पैटर्न की विशेषज्ञता के रूप में मानते हैं। उनमें जो समानता है वह यह है कि पैटर्न और शैलियाँ दोनों वास्तुकारों के उपयोग के लिए मुहावरे हैं, वे एक सामान्य भाषा प्रदान करते हैं<ref name=MSDN/> या शब्दावली<ref name=SG/> जिससे सिस्टम के वर्गों का वर्णन किया जा सकता है।


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


==उदाहरण==
==उदाहरण==
यहां आर्किटेक्चर पैटर्न और संबंधित सॉफ़्टवेयर डिज़ाइन पैटर्न और [[ समाधान वास्तुकला ]] की एक सूची दी गई है।
यहां आर्किटेक्चर पैटर्न और संबंधित सॉफ़्टवेयर डिज़ाइन पैटर्न और [[ समाधान वास्तुकला |समाधान वास्तुकला]] की एक सूची दी गई है।
{| class="wikitable"
{| class="wikitable"
|-
|-
! Sub-domain area
! उप-डोमेन क्षेत्र
! Architecture pattern
! वास्तुशिल्प पैटर्न
! Software design patterns
! सॉफ़्टवेयर डिज़ाइन पैटर्न
! Solution patterns
! समाधान पैटर्न
! Related patterns
! संबंधित पैटर्न
|-
|-
| rowspan="3" | [[Data integration]]/[[Service-oriented architecture|SOA]]
| rowspan="3" | डेटा एकीकरण/एसओए
|
|
* [[Extract, transform, load|ETL (data extraction transformation and loading)]]
* [[Extract, transform, load|ईटीएल (डेटा निष्कर्षण परिवर्तन और लोडिंग)]]
|
|
* [[Change data capture]]
* [[Change data capture|डेटा कैप्चर बदलें]]
* Near real-time ETL
* वास्तविक समय ईटीएल के पास
* Batch ETL
* बैच ईटीएल
* [[Data discovery]]
* [[Data discovery|डेटा खोज]]
|
|
* [[Error handling]]
* [[Error handling|त्रुटि प्रबंधन]]
* [[Job scheduling]]
* [[Job scheduling|कार्य शेड्यूलिंग]]
* [[Data validation]]
* [[Data validation|आंकड़ा मान्यीकरण]]
* [[Slowly changing dimension|Slowly changing dimensions load]]
* [[Slowly changing dimension|धीरे-धीरे बदलते आयाम भार]]
|
|
* [[Enterprise application integration|EAI]]
* ईएआई
* Master data hub
*मास्टर डेटा हब
* [[Operational data store]] (ODS)
*ऑपरेशनल डेटा स्टोर (ओडीएस)
* [[Data mart]]
*डेटा मार्ट
* [[Data warehouse]]
*डेटा वेयरहाउस
|-
|-
|
|
* [[Managed file transfer|MFT]]
* [[Managed file transfer|एमएफटी]]
|
|
|
|
Line 102: Line 100:
|-
|-
|
|
* [[Enterprise application integration|EAI]]/[[Enterprise service bus|ESB]]
* ईएआई/ईएसबी
|
|
* [[Publish/subscribe]]
* [[Publish/subscribe|प्रकाशित/सदस्यता लें]]
* [[Request-response|Request/reply]]
* [[Request-response|अनुरोध/उत्तर]]
* [[Messaging pattern|Message exchange pattern]]s
* [[Messaging pattern|संदेश विनिमय पैटर्न]]
|
|
* One-way
* वन वे
* Synchronous request/response
* समकालिक अनुरोध/प्रतिक्रिया
* Basic callback
* मूलभूत कॉलबैक
* Claim check
* क्लेम चेक
|
|
* [[Service-oriented architecture|SOA]]
* [[Service-oriented architecture|एसओए]]
|-
|-
| [[Data architecture]]
| [[Data architecture|डेटा आर्किटेक्चर]]
|
|
* [[Online transaction processing|Transaction data stores]] (TDS/OLTP)
* लेनदेन डेटा संचय (टीडीएस/ओएलटीपी)
* [[Master data management|Master data store]]
* [[Master data management|मास्टर डेटा स्टोर]]
* [[Operational data store]]
* [[Operational data store|ऑपरेशनल डेटा स्टोर]]
* [[Data mart]]
* [[Data mart|डेटा मार्ट]]
* [[Data warehouse]]
* [[Data warehouse|डेटा वेयरहाउस]]
|
|
* 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]]
*डेटा खनन
|
|
* Real-time dashboards
* वास्तविक समय के डैशबोर्ड
* In-memory analytics
*इन-मेमोरी एनालिटिक्स
* Statistical analysis
*सांख्यिकीय विश्लेषण
* [[Predictive analytics]]
*भविष्य बतानेवाला विश्लेषक
|
|
* ETL
* ईटीएल
* EAI
*ईएआई
* TDS
*टीडीएस
* Operational data store
*ऑपरेशनल डेटा स्टोर
* Data mart
*डेटा मार्ट
|-
|-
| [[Master data management]]
| [[Master data management|मास्टर डेटा प्रबंधन]]
|  
|
* Master data hub
* मास्टर डेटा हब
|
|
* Master data replication
* मास्टर डेटा प्रतिकृति
* Master data services
*मास्टर डेटा सेवाएँ
* Master data synchronization
*मास्टर डेटा सिंक्रनाइज़ेशन
|
|
|
|
* [[Change data capture]]
* डेटा कैप्चर बदलें
* EAI
*ईएआई
* STD{{clarify|date=January 2023}}
*एसटीडी
|-
|-
| [[Data modeling]]
| [[Data modeling|डेटा मॉडलिंग]]
|
|
* [[Dimensional modeling|Dimensional data modeling]]
* [[Dimensional modeling|आयामी डेटा मॉडलिंग]]
* [[Entity–relationship model|E-R data modeling]]
* [[Entity–relationship model|-आर डेटा मॉडलिंग]]
|
|
* Modeling standards
* मॉडलिंग मानक
* Naming conventions
*नामकरण की परंपरा
|
|
|
|
|-
|-
| [[Artificial intelligence]]
| अर्त्फ़िकिअल इंटेलिजेंस
|
|
* Decision management
* निर्णय प्रबंधन
* [[Speech recognition]]
*वाक् पहचान
* Text analytics and NLP
*टेक्स्ट एनालिटिक्स और एनएलपी
* [[Natural language generation]]
*प्राकृतिक भाषा पीढ़ी
* Classic machine learning
*क्लासिक मशीन लर्निंग
* Deep learning
*ध्यान लगा के पढ़ना या सीखना
* [[Robotic process automation]]
*रोबोटिक प्रक्रिया स्वचालन
* Image and video analysis
*छवि और वीडियो विश्लेषण
|
|
*  
*  
Line 215: Line 213:
* [[इकाई घटक प्रणाली]]
* [[इकाई घटक प्रणाली]]
*[[इकाई-नियंत्रण-सीमा]]
*[[इकाई-नियंत्रण-सीमा]]
* [[ बहुस्तरीय वास्तुकला ]] (अक्सर तीन-स्तरीय या {{var|n}}-स्तर)
* [[ बहुस्तरीय वास्तुकला | बहुस्तरीय वास्तुकला]] ( अधिकांशतः तीन-स्तरीय या {{var|n}}-स्तर)
*[[ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]]
*[[ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग]]
* नग्न वस्तुएँ
* नग्न वस्तुएँ
Line 263: Line 261:
{{Design Patterns patterns}}
{{Design Patterns patterns}}


<!--Categories-->[[Category: वास्तुशिल्प पैटर्न (कंप्यूटर विज्ञान)| वास्तुशिल्प पैटर्न]] [[Category: सॉफ़्टवेयर डिज़ाइन पैटर्न]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
 
[[Category:Collapse templates]]
 
 
[[Category: Machine Translated Page]]
[[Category:Created On 25/06/2023]]
[[Category:Created On 25/06/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:वास्तुशिल्प पैटर्न (कंप्यूटर विज्ञान)| वास्तुशिल्प पैटर्न]]
[[Category:सॉफ़्टवेयर डिज़ाइन पैटर्न]]

Latest revision as of 17:06, 16 July 2023

एक आर्किटेक्चरल पैटर्न किसी दिए गए संदर्भ में सॉफ़्टवेयर वास्तुशिल्प में सामान्यतः होने वाली समस्या का एक सामान्य पुन: प्रयोज्य समाधान है।[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.


ग्रन्थसूची