2010-03-24 15 views
5

मैं एमवीवीएम का उपयोग कर एक डब्ल्यूपीएफ ऐप विकसित कर रहा हूं। मेरे अधिकांश विचारों के पीछे कोड पर केवल xaml मार्कअप और कुछ भी नहीं है (डिफ़ॉल्ट बॉयलरप्लेट को छोड़कर)।क्या एडॉर्नर एमवीवीएम तोड़ता है?

सभी एक दृश्य को छोड़कर जब मैं पूरी स्क्रीन को अक्षम करना चाहता हूं तो स्क्रीन को "ब्लैकन" करने के लिए एडोर्नर्स का उपयोग करता हूं।

private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     //todo: transfer to modelview 
     contentAreaAdorner = AdornerLayer.GetAdornerLayer(contentArea); 
     waitingAdorner = new WaitingAdorner(contentArea); 
    } 

क्या यह ठीक है? या क्या मेरे व्यूमोडेल में इसे लागू करने का एक बेहतर तरीका है?

उत्तर

17

कोड-बैक को कम करना लाभ एमवीवीएम का है, लक्ष्य नहीं है।

एमवीवीएम का उद्देश्य यूआई तर्क को सरल और अधिक टेस्टेबल बनाना है। यदि आप इस विधि को अपने दृश्य मॉडल में ले जाते हैं तो क्या आपका कोड सरल और अधिक टेस्टेबल होगा? बहुत शायद नहीं; वास्तव में यह कम हो सकता है। तो इसके बारे में चिंता मत करो।

+0

बिल्कुल मैंने जो सोचा, लेकिन एमवीवीएम के लिए नया होने के नाते मैं पहले कुछ राय चाहता था। धन्यवाद! –

+1

सहमत हैं, किसी भी पैटर्न के लिए "शुद्ध" दृष्टिकोण वास्तव में अधिक जटिलता और कोड को समझने और बनाए रखने के लिए कठिन होगा। – TheZenker

+0

क्या इसे 'यूआई तर्क' के बजाय "एप्लिकेशन तर्क 'पढ़ना चाहिए? यह पाठकों को भ्रमित कर सकता है जो पैटर्न से तुरंत परिचित नहीं होंगे। – Gusdor

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