2013-01-07 8 views
8

मैं एएसपी.नेट एमवीसी में एक वेबसाइट बनाने की कोशिश कर रहा हूं, लेकिन मुझे सच में यकीन नहीं है कि मुझे चीजों को व्यवस्थित करना चाहिए। एन-टियर अनुप्रयोग अच्छा काम करते प्रतीत होते हैं, लेकिन चूंकि मैं एक शुरुआती प्रोग्रामर हूं, इसे समझना बहुत मुश्किल है। मैं बस एक छोटा सा वेब एप्लिकेशन बनाना चाहता हूं जहां लोग लॉगिन कर सकते हैं और पेज बना सकते हैं। इन पृष्ठों में वे अन्य चीजें जोड़ सकते हैं। डेटाबेस मुझे लगता है कि 10 टेबल से बड़ा नहीं होगा। भले ही यह एक छोटा सा एप्लीकेशन है, मैं कुछ सर्वोत्तम प्रथाओं का उपयोग करना चाहता हूं जो एन-टियर अनुप्रयोगों का उपयोग करते हैं।क्या यह मेरे वेब एप्लिकेशन के लिए एक अच्छा आर्किटेक्चर है?

क्या यह एक अच्छा दृष्टिकोण है? या यह बहुत गलत है? :

Project.Models

मॉडल है कि मेरे डेटाबेस में संस्थाओं का प्रतिनिधित्व करते हैं।

मेरी खजाने और काम की इकाई के लिए Project.DAL

इंटरफेस और कार्यान्वयन। इसके अलावा मेरे एनएचबीर्नेट मैपिंग्स।

Project.BLL

इंटरफेस और अपनी सेवाओं के लिए कार्यान्वयन।

Project.UI.Web.MVC

मेरे नियंत्रकों, ViewModels और विचारों। नियंत्रकों को सेवाओं से डेटा मिलता है और डेटा (व्यूमोडेल) को देखने के लिए पास करता है, इसलिए मुझे लगता है कि यह यूआई का हिस्सा है।

+1

गज़ के अनुसार कोई कठोर तेज़ नियम नहीं है, केवल एक सुझाव Project.UI.Web.MVC प्रोजेक्ट .UI.Web केवल हो सकता है। – paritosh

उत्तर

2

आपकी परियोजना को व्यवस्थित करने के तरीके के बारे में कोई कठोर और तेज़ नियम नहीं हैं।

यह मेरे लिए बहुत तार्किक लग रहा है और लगता है कि मैंने इंटरनेट पर कई एचटीई उदाहरणों का पालन किया है।

यह सब मायने रखता है कि यह आपकी राय में आपके और आपकी टीम के लिए तार्किक है।

रूप में अच्छी तरह के लिए इस लिंक पर एक नजर डालें, वहाँ आप के लिए उपयोगी जानकारी का एक बहुत कुछ हो सकता है:

Best practices for MVC architecture

0

यह एक साफ लेयरिंग तरह लगता है।

डीएएल, बीएलएल और वेब.एमवीसी में क्या चल रहा है, इस पर स्पष्ट रूप से परिभाषित करें। क्योंकि व्यापार तर्क और यूई तर्क में जो लोग जाते हैं, उसमें लोगों के विचार में अंतर हो सकता है, मैं सुझाव देता हूं कि प्रत्येक परत में क्या चल रहा है - इसकी साप्ताहिक समीक्षा करें।

एक सुझाव Project.UI.Web.MVC के बजाय Project.UI.Web को कॉल करना है।