2009-01-23 10 views
7

मैंने एक .NET Winforms एमवीसी बनाया है। नियंत्रक और दृश्य एक ही EXE में हैं। मॉडल डीएलएल के एक सेट में है जो कई समूहों द्वारा उपयोग किया जाता है। एमवीसी बहुत स्पष्ट है। मॉडल जानता है कि नियंत्रक और नियंत्रक के कुछ भी नहीं देखने के कुछ भी जानता है। मैं कंट्रोलर को अपने डीएलएल में डाल रहा हूं ताकि यह यूनिट परीक्षण किया जा सके। किसी के विपरीत अत्यधिक नियंत्रक का पुन: उपयोग करेगा। यूनिट परीक्षण एकमात्र कारण है मेरे पास एक डीएलएल में जाने के लिए है।क्या एमवीसी नियंत्रक अलग डीएलएल में होना चाहिए?

संकल्पनात्मक रूप से, नियंत्रक हमेशा दृश्य के समान असेंबली में होना चाहिए? उन्हें एक साथ रखने के लिए क्या कारण हैं?

उत्तर

5

नियंत्रकों और विचारों का पृथक्करण एक सार अवधारणा है। कोई सख्त नियम नहीं है कि आपको शारीरिक रूप से उन्हें अलग रखना चाहिए (जैसे कि तीन-स्तरीय एप्लिकेशन में टायर की तरह)। हालांकि किसी भी दृष्टिकोण में कुछ फायदे हो सकते हैं।

अलग विधानसभाओं निम्नलिखित लाभ हैं:

  • संभावना कम कर देता है नियंत्रकों और जुदाई को तोड़ने के लिए गलती से जोड़े विचारों को।
  • नियंत्रकों को पुन: संकलित किए बिना दृश्यों को संपादित करना आसान बनाता है (जो एक तैनाती परिप्रेक्ष्य से बहुत अच्छा है)।
  • बिल्डिंग व्यू और कंट्रोलर अलग हो गए हैं, इसलिए आप उनमें से एक का परीक्षण कर सकते हैं भले ही दूसरा बिल्कुल भी न हो।

हालांकि, यह छोटी परियोजनाओं के लिए असुरक्षित हो सकता है। बहुत छोटी परियोजनाओं के लिए आप एक निष्पादन योग्य जहाज भेज सकते हैं और इसके साथ कुछ और नहीं। इसके अलावा, आप 3 अलग-अलग परियोजनाएं नहीं बनाना चाहेंगे।

अरे, हो सकता है कि आप इसे यूनिट परीक्षण नहीं करना चाहें;) ओह, मेरे सिर को चोट लगी है, यह बड़ी ईंट कहाँ से आई थी? :))

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