क्लासिक एएसपी में, आपके पास व्यवसाय कोड आपकी फ़ाइल में था ("डेटाबेस से सामान प्राप्त करें और उस पर कार्य करें")।
ASP.net MVC में - परवाह किए बिना अगर आप का उपयोग ASPX या उस्तरा दृश्य इंजन - आप देखें तर्क के साथ काम कर रहे हैं। चीजें "मेरे पास 20 कर्मचारी हैं, उन्हें एक टेबल में प्रदर्शित करें" या "यदि यह संख्या ऋणात्मक है, तो इसे काले रंग के बजाय लाल रंग में प्रदर्शित करें"।
व्यापार तर्क नियंत्रकों और कम में है। नियंत्रक फिर दृश्य मॉडल के माध्यम से दृश्य डेटा को दृश्य में पास करता है। दृश्य में तब केवल कोड होता है जो इसे प्रदर्शित करता है, जो आमतौर पर छोटा होता है लेकिन इसमें कुछ तर्किक शाखाएं हो सकती हैं ("उपयोगकर्ता लोकेल में प्रदर्शन तिथियां" या "अलग-अलग तालिकाओं में पुरुष और महिला कर्मचारियों को प्रदर्शित करें")
आप यहां व्यवसाय तर्क डालने की गलती कर सकते हैं। कहें, 2008 से पहले किराए पर रखे गए कर्मचारी वफादारी प्रमाणपत्र के पात्र हैं। तो आपकी तालिका में एक कॉलम "प्रिंट सर्टिफिकेट" है जो केवल इनके लिए प्रदर्शित होता है। आसान है, लेकिन गलत दृष्टिकोण एक अगर बयान डाल करने के लिए है:
@if(employee.HireYear <= 2008) {
Html.ActionLink("Print Certificate","Certificate","Cheese",
new { id = employee.Id }, null);
}
यह काम करता है, लेकिन गलत है, क्योंकि दृश्य अब व्यापार तर्क होते हैं। सही दृष्टिकोण ViewModel में एक नया बूल फ़ील्ड जोड़ रहा है। चूंकि इसमें इस उदाहरण में IList<Employee>
है, इसका मतलब है कि योग्य और अयोग्य कर्मचारियों के लिए अलग-अलग सूचियां रखने के लिए EmployeeWithCertificateEligibility
कक्षा या बेहतर बनाना है। यह कुछ हद तक आम है हालांकि व्यापार तर्क तर्क में फैल गया है, कभी-कभी एचटीएमएल हेल्पर एक्सटेंशन विधि के रूप में।
संपादित करें: आप इसकी तुलना "प्रारंभिक क्लासिक एएसपी कार्यान्वयन" से करते हैं। इसका अर्थ तीन चीजें हो सकता है: क्लासिक एएसपी, एएसपीनेट वेबफॉर्म या एएसपीनेट एमवीसी वेबफॉर्म/एएसपीएक्स व्यू इंजन के साथ। मेरा उदाहरण पहले दो मामलों से संबंधित है। यदि आप पहले से ही पूरी एमवीसी सामग्री को जानते हैं और वेबफॉर्म और रेजर व्यू इंजन के बीच मतभेदों के बारे में सोचते हैं: संकल्पनात्मक रूप से वे वही हैं, रेजर बहुत कम वर्बोज़ और क्लीनर है।
स्रोत
2011-11-12 17:00:17
इस धागे का संभावित डुप्लिकेट http://stackoverflow.com/questions/558002/asp-net-mvc-classic-asp-with-net-class-library-really – Chandermani
@Chandermani - यह एएसपी.NET एमवीसी के बारे में नहीं है उस्तरा। – klabranche
@ क्लेब्रैंच दृश्य इंजन कोई फर्क नहीं पड़ता, यहां चिंता यूआई और सर्वर साइड कोड का अंतःक्रिया है। – Chandermani