में दृश्य तर्क और डोमेन तर्क के बीच भ्रम मैं डोमेन/एप्लिकेशन तर्क और उपयोगकर्ता इंटरफ़ेस तर्क के बीच भ्रमित हो रहा हूं। उदाहरण के लिए, मैं चित्रण उद्देश्यों के लिए नीचे दिए गए एक काल्पनिक कार्यक्रम का वर्णन करूंगा:एएसपी.नेट एमवीसी वेब अनुप्रयोग
(1) 3 कैस्केडिंग ड्रॉप-डाउन के सेट के साथ एक छोटा सा एप्लिकेशन की कल्पना करें। जैसे ही आप एक ड्रॉपडाउन चुनते हैं, यह एक jQuery अजाक्स जीईटी ट्रिगर करता है जो पहले एमवीसी नियंत्रक को मारता है, जो पहले चयनित ड्रॉप-डाउन के चयनित मूल्य की आपूर्ति करता है। नियंत्रक अगले ड्रॉप-डाउन के लिए स्वीकार्य विकल्प देता है। जावक्रिप्ट (दृश्य में) इन परिणामों को एक ड्रॉप-डाउन में व्यवस्थित करता है। और इसी तरह। तो प्रत्येक बार जब आप ड्रॉप-डाउन चुनते हैं, तो अगला वाला पॉप्युलेट हो जाता है।
(2) अब एक रिंच में फेंक रहा है .. कुछ अपवाद हैं। आइए कहें कि क्या उपयोगकर्ता पहले ड्रॉपडाउन में "फू" या "बार" का चयन करता है, तो व्यवहार में परिवर्तन होता है, ताकि दूसरा ड्रॉपडाउन अक्षम हो, और थ्रूड ड्रॉपडाउन इसके बजाय एक टेक्स्टबॉक्स दिखाएगा।
मेरे प्रश्न एमवीसी के संदर्भ में, इस "निर्णय" तर्क के लिए उपयुक्त जगह क्या है? जैसे कोड (2) में इन निर्णयों को बनाने के लिए जिम्मेदार कोड है। सबसे सुविधाजनक स्थान जिसे मैं इसे डाल रहा हूं वह दृश्य के जावास्क्रिप्ट में सही था। मैंने बस यह जांचने के लिए जावास्क्रिप्ट लिखा है कि पहला बॉक्स "फू" या "बार" है, फिर दूसरा ड्रॉपवॉउन अक्षम करें, और टेक्स्टबॉक्स के लिए तीसरे ड्रॉपडाउन को स्वैप करें। लेकिन यह मेरे लिए बिल्कुल सही नहीं लगता है। क्योंकि ऐसा लगता है कि यह व्यापार तर्क होना चाहिए इसलिए कोड किसी डोमेन परत में किसी स्थान पर होना चाहिए। लेकिन यह बिल्कुल सही नहीं लगता है।
और इसलिए मुझे लगता है कि मैं मंडलियों में जा रहा हूं। क्या कोई इस छोटे से डिजाइन पर कुछ प्रकाश डाल सकता है?
ईश्वर यह प्रश्न मेरे डाउनटाइम में मुझे कैसे पीड़ित करता है। – Merritt