2013-01-24 12 views
9

मैं एक पारंपरिक सी # डेवलपर हूं और अतीत में मैंने टायर आर्किटेक्चर के साथ एमवीसी का उपयोग किया था। अब मुझे नोडजेस/मोंगोस के साथ एक ऐप लिखा गया है और मैं थोड़ी परेशान हूं कि मोंगोस कैसे काम करता है।मोंगोस में मॉडल या अलग परत में विधियों को परिभाषित किया जाना चाहिए?

अतीत में मैं अपने मॉडल को साधारण पीओसीओ के रूप में परिभाषित करता हूं, उन्हें परतों के माध्यम से पास करता हूं और मेरा भंडार मेरे सभी डेटा एक्सेस करेगा।

मोंगोस के साथ यह भी कि मॉडल का उपयोग मॉडल पर ही होता है। आप .save() को कॉल कर सकते हैं, स्थैतिक और उदाहरण विधियों की घोषणा करें उदा। myModel.findAllByX(), आदि। हालांकि यह मेरे लिए प्रस्थान है, लेकिन मैं कुछ प्रो और कॉन को देख सकता हूं।

क्या मुझे यहां कुछ याद आ रही है? क्या कोई अच्छी अभ्यास युक्तियाँ हैं, या क्या मुझे इसे सरल रखना चाहिए और बस मेरे मोंगोस मॉडल पर सबकुछ घोषित करना चाहिए क्योंकि इसे किसी अन्य परत में पारित करने के विरोध में?

उत्तर

9

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

static और method सिस्टम मोंगोस मॉडल पर है - यह भी है कि हुक सिस्टम (प्री-इनिट, सेव इत्यादि) के लिए भी है।

बड़े अनुप्रयोगों में, हम आम तौर पर कस्टम मूर्तियों और विधियों के माध्यम से पूरी तरह से हमारे मोंगोज़ मॉडल तक पहुंचने को समाप्त करते हैं ... इस अर्थ में, आप तर्क दे सकते हैं कि उन statics और विधियों वास्तव में 'अलग परत' लिखते हैं जो आप बात कर रहे हैं एमवीसी से के बारे में।