2013-03-23 4 views
14

मैं यह समझने की कोशिश कर रहा हूं कि मॉडल-व्यू-प्रेजेंटर और मॉडल-व्यू-एडाप्टर पैटर्न के बीच कोई अंतर है या नहीं - और यदि ऐसा है - तो यह अंतर क्या है। मुझे कोई ऑनलाइन संसाधन नहीं मिला है जो उन्हें तुलना/विपरीत करता है, इसलिए मुझे यह भी यकीन नहीं है कि वे वास्तव में अलग हैं या नहीं।मॉडल-व्यू-प्रेजेंटर और मॉडल-व्यू-एडाप्टर के बीच क्या अंतर है?

मुझे जो विवरण मिला है वह मुझे अनिवार्य रूप से समान लगता है। मैं क्या एकत्रित की हैं से, दोनों ही मामलों में नियंत्रण प्रवाह मूल रूप से है:

View <-- Adapter/Presenter --> Model 
(where Adapter/Presenter can also respond to events from View and Model) 

View: the UI 
Adapter/Presenter: main logic; mediator between the UI and the data model 
Model: the data model 

एडाप्टर/प्रस्तुतकर्ता देखें और मॉडल "के बारे में जानता है", लेकिन देखना और मॉडल अन्य किसी के बारे में पता नहीं है खुद से

मुझे उम्मीद है कि एक सूक्ष्मता है कि मैं यहां पूरी तरह गायब हूं। यह क्या है?

उत्तर

10

एकमात्र चीज जिसे मैं सोच सकता हूं वह है एमवीए आम तौर पर एक दृश्य और मॉडल के बीच एकाधिक अनुकूलक रखने के साथ जुड़ा हुआ है। हालांकि एमवीपी में ऐसा करने से आपको कुछ भी नहीं रोक रहा है, मुझे लगता है कि एमवीपी का मतलब एक मजबूत त्रिभुज है।

अद्यतन (वर्षों बाद): पीछे की ओर, मुझे विश्वास है कि एक महत्वपूर्ण अंतर नियंत्रण प्रवाह होगा। एमवीपी में, दृश्य प्रस्तुतकर्ता को ट्रिगर/बनाता/कॉल करता है, जो मॉडल को प्रतिनिधि करता है और दृश्य पर वापस प्रतिक्रिया देता है। एमवीए में, जब संदेश आते हैं, तो एडाप्टर चुना जाता है, जो मॉडल और व्यू के बीच मध्यस्थता करता है। चूंकि एमवीपी व्यू प्रेजेंटर को ट्रिगर/बनाता/कॉल करता है, एकाधिक प्रेजेंटर्स (एडाप्टर के रूप में चुना जाता है) के बीच चयन करना एक सीधा फिट नहीं है।

+1

या वाक्यांश एमवीपी में एक और तरीका, दृश्य प्रस्तुतकर्ता से अवगत है, और सक्रिय पार्टी है जो प्रस्तुतकर्ता को घटनाओं का निरीक्षण और प्रतिनिधि करती है। एमवीए में, दृश्य एडाप्टर से अवगत नहीं है, लेकिन दूसरी तरफ, और एडाप्टर सक्रिय पार्टी है जो दृश्य घटनाओं को देखता है। – hidro

संबंधित मुद्दे