सबसे पहले, किसी को भी चीखने से पहले, मुझे एक साधारण शीर्षक में इसे संक्षेप में बताने का कठिन समय था। एक अन्य शीर्षक "डोमेन मॉडल और एमवीसी मॉडल के बीच अंतर क्या है?" या "एक मॉडल क्या है?"
वैचारिक रूप से, मैं एक मॉडल को विचारों और नियंत्रक द्वारा उपयोग किया जाने वाला डेटा समझता हूं। इससे परे, मॉडल को बनाने के बारे में अलग-अलग राय है। एक डोमेन मॉडल, बनाम एक ऐप मॉडल, बनाम एक दृश्य मॉडल, बनाम एक सेवा मॉडल, आदि क्या है।
उदाहरण के लिए, हाल ही में एक प्रश्न में मैंने रिपॉजिटरी पैटर्न के बारे में पूछा था, मुझे बताया गया था कि रिपॉजिटरी मॉडल का हिस्सा है। हालांकि, मैंने अन्य राय पढ़ी हैं कि मॉडल को दृढ़ता मॉडल और व्यावसायिक तर्क परत से अलग किया जाना चाहिए। आखिर, क्या रिपॉजिटरी पैटर्न को मॉडल से ठोस दृढ़ता विधि को कम करने के लिए नहीं माना जाता है? अन्य लोगों का कहना है कि डोमेन मॉडल और एमवीसी मॉडल के बीच अंतर है।
एक सरल उदाहरण लेते हैं। खाता नियंत्रक जो MVC डिफ़ॉल्ट प्रोजेक्ट के साथ शामिल है। मैंने कई राय पढ़ी हैं कि इसमें शामिल खाता कोड खराब डिज़ाइन का है, SRP, आदि का उल्लंघन करता है। आदि आदि। यदि कोई MVC एप्लिकेशन के लिए "उचित" सदस्यता मॉडल डिज़ाइन करता है, तो वह क्या होगा?
आप मॉडल से ASP.NET सेवाओं (सदस्यता प्रदाता, भूमिका प्रदाता, आदि) को अलग कैसे करेंगे? या आप बिलकुल करेंगे?
जिस तरह से मैं इसे देखता हूं, मॉडल को "शुद्ध" होना चाहिए, शायद सत्यापन तर्क के साथ .. लेकिन व्यावसायिक नियमों (सत्यापन के अलावा) से अलग होना चाहिए। उदाहरण के लिए, मान लें कि आपके पास एक व्यावसायिक नियम है जो कहता है कि नया खाता बनाते समय किसी को ईमेल किया जाना चाहिए। यह वास्तव में मेरे विचार में मॉडल से संबंधित नहीं है। तो इसका संबंध कहां से है?
किसी को भी इस मुद्दे पर कोई प्रकाश डाला परवाह है?