अपडेट नवंबर 2018
एंड्रॉइड में एमवीसी और एमवीपी के बारे में कई वर्षों तक काम करने और ब्लॉगिंग करने के बाद (नीचे दिए गए उत्तर के शरीर को देखें), मैंने अपने ज्ञान और समझ को अधिक व्यापक और आसानी से पचने योग्य रूप में पकड़ने का फैसला किया।
इसलिए, मैंने एंड्रॉइड एप्लिकेशन आर्किटेक्चर के बारे में एक पूर्ण विकसित वीडियो पाठ्यक्रम जारी किया। इसलिए, यदि आप Android विकास में सबसे उन्नत वास्तुशिल्प पैटर्न में महारत हासिल करने में रुचि रखते हैं, तो यहां इस व्यापक पाठ्यक्रम की जांच करें ।
यह उत्तर नवंबर 2016 तक प्रासंगिक बने रहने के लिए अपडेट किया गया था
ऐसा लगता है कि आप डिजाइन पैटर्न के बजाय वास्तुशिल्प पैटर्न की तलाश कर रहे हैं ।
डिज़ाइन पैटर्न का लक्ष्य एक सामान्य "ट्रिक" का वर्णन करना है जो प्रोग्रामर आवर्ती सॉफ़्टवेयर कार्यों के एक विशेष सेट को संभालने के लिए लागू कर सकता है। उदाहरण के लिए: OOP में, जब कुछ घटनाओं के बारे में अन्य वस्तुओं के एक सेट को सूचित करने के लिए एक वस्तु की आवश्यकता होती है, तो पर्यवेक्षक डिजाइन पैटर्न को नियोजित किया जा सकता है।
चूंकि एंड्रॉइड एप्लिकेशन (और अधिकांश एओएसपी) जावा में लिखे गए हैं, जो ऑब्जेक्ट-ओरिएंटेड है, मुझे लगता है कि आपको एक एकल ओओपी डिज़ाइन पैटर्न की तलाश में एक कठिन समय होगा जो एंड्रॉइड पर उपयोग नहीं किया जाता है।
दूसरी ओर, वास्तुशिल्प पैटर्न , विशेष सॉफ़्टवेयर कार्यों को संबोधित नहीं करते हैं - उनका उद्देश्य सॉफ़्टवेयर घटक के प्रश्न में सॉफ़्टवेयर घटक के उपयोग के आधार पर टेम्पलेट प्रदान करना है ।
यह थोड़ा जटिल लगता है, लेकिन मुझे उम्मीद है कि एक उदाहरण स्पष्ट करेगा: यदि कुछ एप्लिकेशन का उपयोग किसी दूरस्थ सर्वर से डेटा लाने और उपयोगकर्ता को संरचित तरीके से पेश करने के लिए किया जाएगा, तो MVC विचार के लिए एक अच्छा उम्मीदवार हो सकता है। ध्यान दें कि मैंने सॉफ़्टवेयर कार्यों और अनुप्रयोग के कार्यक्रम प्रवाह के बारे में कुछ नहीं कहा - मैंने इसे केवल उपयोगकर्ता के दृष्टिकोण से वर्णित किया है, और एक वास्तुशिल्प पैटर्न के लिए एक उम्मीदवार उभरा है।
चूँकि आपने अपने प्रश्न में MVC का उल्लेख किया है, मुझे लगता है कि वास्तुशिल्प पैटर्न वही है जो आप खोज रहे हैं।
ऐतिहासिक रूप से, Google द्वारा एप्लिकेशन के आर्किटेक्चर के बारे में कोई आधिकारिक दिशा-निर्देश नहीं थे, जो (अन्य कारणों के अलावा) एंड्रॉइड ऐप के स्रोत कोड में कुल गड़बड़ी थी। वास्तव में, आज भी अधिकांश एप्लिकेशन जो मुझे दिखाई देते हैं, वे अभी भी ओओपी सर्वोत्तम प्रथाओं का पालन नहीं करते हैं और कोड का एक स्पष्ट तार्किक संगठन नहीं दिखाते हैं।
लेकिन आज स्थिति अलग है - Google ने हाल ही में डेटा बाइंडिंग लाइब्रेरी जारी की , जो एंड्रॉइड स्टूडियो के साथ पूरी तरह से एकीकृत है, और, यहां तक कि एंड्रॉइड एप्लिकेशन के लिए आर्किटेक्चर ब्लूप्रिंट का एक सेट रोल आउट किया गया है ।
दो साल पहले एंड्रॉइड पर एमवीसी या एमवीपी के बारे में जानकारी प्राप्त करना बहुत कठिन था। आज, एमवीसी, एमवीपी और एमवीवीएम एंड्रॉइड समुदाय में "चर्चा शब्द" बन गए हैं, और हम अनगिनत विशेषज्ञों से घिरे हुए हैं जो लगातार हमें समझाने की कोशिश करते हैं कि एमवीवी एमवीवाई से बेहतर है। मेरी राय में, इस बात पर चर्चा करना कि क्या MVx MVy से बेहतर है, पूरी तरह से व्यर्थ है क्योंकि शब्द स्वयं बहुत अस्पष्ट हैं - बस इस प्रश्न के उत्तर को देखें , और आपको पता चलेगा कि विभिन्न लोग इन संक्षिप्तीकरणों को पूरी तरह से अलग निर्माणों के साथ जोड़ सकते हैं।
इस तथ्य के कारण कि एंड्रॉइड के लिए एक सर्वश्रेष्ठ वास्तुशिल्प पैटर्न की खोज आधिकारिक तौर पर शुरू की गई है, मुझे लगता है कि हम कई और विचारों को प्रकाश में आने वाले हैं। इस बिंदु पर, यह भविष्यवाणी करना वास्तव में असंभव है कि भविष्य में कौन से पैटर्न (या पैटर्न) उद्योग के मानक बन जाएंगे - हमें इंतजार करना और देखना होगा (मुझे लगता है कि यह एक या दो साल की बात है)।
हालांकि, एक भविष्यवाणी है जिसे मैं उच्च स्तर के विश्वास के साथ कर सकता हूं: डेटा बाइंडिंग लाइब्रेरी का उपयोग एक उद्योग मानक नहीं बनेगा। मुझे यह कहते हुए विश्वास है कि क्योंकि डेटा बाइंडिंग लाइब्रेरी (इसके वर्तमान कार्यान्वयन में) अल्पकालिक उत्पादकता लाभ और कुछ प्रकार की वास्तु दिशानिर्देश प्रदान करती है, लेकिन यह लंबे समय में कोड को गैर-रखरखाव योग्य बना देगा। एक बार इस लाइब्रेरी के दीर्घकालिक प्रभाव सतह पर आ जाएंगे - इसे छोड़ दिया जाएगा।
अब, हालांकि हमारे पास आज कुछ प्रकार के आधिकारिक दिशानिर्देश और उपकरण हैं, मैं, व्यक्तिगत रूप से, यह नहीं सोचता कि ये दिशानिर्देश और उपकरण उपलब्ध सर्वोत्तम विकल्प हैं (और वे निश्चित रूप से केवल एक ही नहीं हैं)। अपने अनुप्रयोगों में मैं एमवीसी वास्तुकला के अपने स्वयं के कार्यान्वयन का उपयोग करता हूं। यह सरल, स्वच्छ, पठनीय और परीक्षण योग्य है, और किसी भी अतिरिक्त पुस्तकालयों की आवश्यकता नहीं है।
यह एमवीसी केवल दूसरों से अलग नहीं है - यह एक सिद्धांत पर आधारित है कि एंड्रॉइड में गतिविधियां यूआई एलिमेंट्स नहीं हैं , जिसका कोड संगठन पर जबरदस्त प्रभाव है।
इसलिए, यदि आप एंड्रॉइड अनुप्रयोगों के लिए एक अच्छे वास्तुशिल्प पैटर्न की तलाश कर रहे हैं जो कि एसओएलआईडी सिद्धांतों का पालन करता है, तो आप एंड्रॉइड में एमवीसी और एमवीपी वास्तुशिल्प पैटर्न के बारे में मेरी पोस्ट में एक का वर्णन पा सकते हैं ।