2009-05-07 6 views
5

मैं काफी बड़े पैमाने पर एएसपी.नेट एमवीसी प्रोजेक्ट बनाने की तलाश में हूं और मैं इसे तोड़ना चाहता हूं ताकि यह सब एक परियोजना और एक असेंबली में न हो।एएसपी.नेट एमवीसी समाधान संगठन

मैंने देखा कि कैसे ऑक्साइट अपने संगठन (http://oxite.codeplex.com/Wiki/View.aspx?title=architecture) करता है लेकिन मैं सोच रहा था कि अन्य लोग भी यह कैसे करते हैं। कोई सुझाव?

वर्तमान में, मैं बहुत समान कुछ पर विचार कर रहा हूँ Oxite के लिए:

परियोजना - इस परियोजना मॉडल परत जो मॉडल, विन्यास कक्षाएं, और सेवाओं और खजाने के लिए इंटरफेस भी शामिल होता है। यहां अधिक आवेदन तर्क नहीं होना चाहिए, ज्यादातर डेटा संरचनाएं।

प्रोजेक्ट। कोर - इस प्रोजेक्ट में फ़िल्टर और परिणामों सहित नियंत्रक और रूटिंग के लिए सभी कोड शामिल हैं। यहां व्यूडेटा मॉडल भी शामिल है।

प्रोजेक्टसाइट - इस प्रोजेक्ट में दृश्य, छवियां, जावास्क्रिप्ट और अन्य सभी स्थैतिक गैर-कोड फ़ाइलें शामिल हैं। यहां न्यूनतम सी # कोड होना चाहिए, बहुमत परियोजना में रहना चाहिए। अधिक

उत्तर

8

आप यह जांचना चाहेंगे कि S#arp Architecture में उनके नियंत्रक, सेवाएं और कोर संबंधित परीक्षण परियोजनाओं के साथ परियोजनाओं में विभाजित हैं।

+0

एस # आर्क वास्तुकला का उपयोग कर रहे लोगों के किसी भी उदाहरण मिला? – ajma

2

यहां बताया गया है कि हमने इस परियोजना को कैसे तोड़ दिया है। यह एएसपी.नेट एमवीसी लॉन्च होने के करीब है और हमने रास्ते में कुछ चीजें सीखी हैं। मैंने कारण बताए हैं कि प्रत्येक परियोजना अलग क्यों है।

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

Project.Site - यह परियोजना अपने सभी JavaScript युक्त, सीएसएस, देखें आदि, दृश्य से संबंधित सब कुछ। कारण: यदि आपके पास वेबसाइट डिजाइनर है, तो आप उसे इस परियोजना तक पहुंच सकते हैं और उसे दूर कर सकते हैं।

प्रोजेक्ट। नियंत्रक - एमवीसी में सी, इसमें आपके सभी नियंत्रक के साथ-साथ आपके मॉडलबिंडर्स भी शामिल हैं। कारण: मॉडल, दृश्य और नियंत्रकों के लिए तीन अलग-अलग परियोजनाएं चिंता के रिसाव के लिए कठिन बनाती हैं।

Project.Tests - अलग परियोजनाओं बलों में अपने सभी इकाई परीक्षण आप केवल सार्वजनिक इंटरफेस परीक्षण करने के लिए रखते हुए; मेरी राय में यूनिट परीक्षणों के लिए एक अच्छा अभ्यास।

परियोजनाएं। सेवा - सभी वेब सेवाएं, दृढ़ता से संबंधित कोड इस परियोजना में यहां जाते हैं।

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

+0

मैं अलग-अलग परियोजनाओं में दृश्यों और नियंत्रकों को रखने की अनुशंसा नहीं करता। वे दोनों बहुत विशिष्ट हैं और एक साथ काम करते हैं। यह सबसे अच्छा है अगर वे एक परियोजना में एक साथ हैं। – harsimranb

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

  • कोई संबंधित समस्या नहीं^_^