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

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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

 * सॉफ्टवेयर आर्किटेक्चर शैलियों और पैटर्न की सूची
 * प्रक्रिया संचालित संदेश सेवा
 * उद्यम स्थापत्य
 * सूचना प्रणाली तार्किक वास्तुकला में सामान्य परतें

ग्रन्थसूची