2011-03-24 17 views
5

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

उत्तर

4

आप संभावित रूप से Portable Library Tools CTP का उपयोग कर ऐसा कर सकते हैं। यह आपको एक एकल लाइब्रेरी प्रोजेक्ट में पूर्ण ढांचे के साथ ही सिल्वरलाइट को लक्षित करने की अनुमति देता है।

अन्यथा, यह संभव है, तरह। आपको अभी भी दो अलग-अलग परियोजनाओं (व्यावहारिक उद्देश्यों के लिए) की आवश्यकता है, लेकिन आमतौर पर एक एकल स्रोत फ़ाइल का उपयोग कर सकते हैं। एक ही स्रोत फाइलों का उपयोग कर प्रत्येक प्रोजेक्ट को पुन: उपयोग में रखता है - लेकिन फ़ाइलों के मैन्युअल सिंक्रनाइज़ेशन की आवश्यकता होती है। आप आंशिक कक्षाओं या परिभाषाओं के माध्यम से इस मामले में आसानी से प्लेटफॉर्म-विशिष्ट कार्यक्षमता भी जोड़ सकते हैं, जो सिल्वरलाइट कार्यक्षमता को बनाए रखने के लिए आसान काम करने के लिए कुछ कामकाज रखने में मदद करता है।

+0

मुझे लगता है कि पोर्टेबल लाइब्रेरी विकल्प आपकी सबसे अच्छी शर्त होगी, लेकिन यह आपको सबसे कम आम denominator को कोड करने के लिए मजबूर करेगा। वास्तव में, ViewModels के लिए यह कोई समस्या नहीं होनी चाहिए क्योंकि आपको किसी भी दृश्य से संबंधित idiosyncrasies को दृश्य सेवा में किसी भी प्लेटफ़ॉर्म idiosyncrasies को अमूर्त करना चाहिए। –

0

[लगभग] सिल्वरलाइट में जो भी संभव हो, डब्ल्यूपीएफ में भी संभव है। तो यदि आपके पास सिल्वरलाइट में वीएम काम कर रहा है, तो यह [अधिकतर] डब्ल्यूपीएफ के साथ काम करेगा।

दूसरी ओर से, डब्ल्यूपीएफ अमीर संभावनाएं प्रदान करता है, ताकि आप उन्हें कोड के अपने डब्ल्यूपीएफ भाग में उपयोग करना चाहें। आप सामान्य #ifdef Silverlight-जैसी चाल का उपयोग कर सकते हैं।

इसके अलावा, this question उपयोगी हो सकता है।