मैं एमवीपी आर्किटेक्चर के बाद परियोजना विकसित कर रहा हूं। आमतौर पर, जब मैं रीसाइक्लर व्यू का उपयोग करता हूं, तो मेरा प्रस्तुतकर्ता एडाप्टर डेटा नियंत्रित करता है। लेकिन अब मुझे कैश (या कैश की तरह कुछ) के साथ रीसाइक्लिंग एडाप्टर बनाने की जरूरत है, रीसाइक्लिंग का आकार कैश आकार पर निर्भर नहीं है, इसलिए मैं हैश मैप के माध्यम से कैश बना देता हूं, जहां कुंजी है - रीसाइक्लिंग की स्थिति, यदि कोई आइटम है नक्शा तब डेटा दिखाता है, अन्य चीज़ों के साथ खाली पंक्ति "घटनाओं को जोड़ें" बीटीएन। और मुझे एहसास नहीं हो सकता कि इस तरह के ढांचे में उस कैश के लिए जगह - मॉडल (दाओ या कैशमेनर की तरह कुछ) या एडाप्टर में।एमवीपी एडाप्टर डेटा कैश
कैश विचार निम्न है: मेरे पास कुछ प्रकार की घटनाएं हैं जो डेटाबेस में संग्रहीत होती हैं, प्रत्येक घटना डीबी में इसे संशोधित करने में संशोधित करती है - इसलिए कैश को भी अपडेट किया जाना चाहिए।
मुख्य प्रश्न हैं: इस कैश को कहां रखना है और इसे एडाप्टर में लोड करना है, मैं इसे डेटाबेस परिवर्तनों के साथ कैसे सिंक कर सकता हूं।
पीएस इसके अलावा मैं आरएक्स का उपयोग करने की कोशिश करता हूं, इसलिए यदि इसे हल किया जा सकता है - तो कोशिश करना बहुत दिलचस्प होगा।
पी.पी.एस. अगर यह रिपोजिटरी पैटर्न हल करने का तरीका है - स्वागत है। कुछ समय पहले इसके बारे में पढ़ें।
लेकिन क्या प्रेजेंटर के बिना एडाप्टर से रिपोजिटरी का उपयोग करना एक बुरा अभ्यास नहीं है? मैंने डीएओ कक्षा में अपना कैश लागू किया है और इसे एडाप्टर से बुलाया है, लेकिन "मुझे इसके बारे में बुरा लगा है"। पीएस मेरी कुंजी एक साधारण स्थिति नहीं है, यह सिर्फ स्थिति पर निर्भर करता है। एफ (स्थिति) = कुंजी – shagi
आप सही हैं। यही कारण है कि मैंने लोडर्स का उपयोग करने का सुझाव दिया: (1) आपका प्रस्तुतकर्ता लोडर (प्रारंभिकरण, परिणाम कॉलबैक, आदि) से संबंधित है; (2) लोडर भंडार से डेटा लोड करता है; (3) प्रस्तुतकर्ता लोडर के परिणाम कॉलबैक और एडाप्टर – Brian
पर डेटा पर हाथ लेता है लोडर्स के बजाय ठीक है मैं आरएक्स का उपयोग करता हूं। तो मुझे प्रारंभिकरण का विचार मिला है, लेकिन व्यूहोल्डर्स की कार्रवाइयों के बारे में क्या? क्या मुझे अपने एडाप्टर में इंटरफेस बनाना चाहिए और फिर फ्रैगमेंट \ गतिविधि या प्रेजेंटर ओओ में कार्यान्वित करना चाहिए? या संवाद करने का बेहतर तरीका है? RxBus (EventBus)? – shagi