2016-06-05 10 views
6

साथ हाल ही में मैं ORM (वस्तु संबंधपरक मानचित्रण) और 3 स्तरीय संरचना शैली (प्रस्तुति, व्यापार और डेटा हठ) के बारे में सीखने गया था सहित एक 3 स्तरीय संरचना शैली में दाल, डीटीओ और डीएओ के बीच अंतर है। यदि मैं सही ढंग से समझता हूं, तो मैं डेटा दृढ़ता परत को डीटीओ और डीएओ परत में अलग कर सकता हूं।क्या MVC

मैं समझना चाहता हूं कि निम्न भागों डेटा स्थिरता परत में कैसे काम करते हैं।

  • दल (डेटा एक्सेस परत)
  • डीटीओ (डाटा ट्रांसफर वस्तु)
  • डीएओ (डेटा एक्सेस ऑब्जेक्ट)

कि के एक शीर्ष में मुझे पता चला कि

बड़े अनुप्रयोगों में एमवीसी प्रस्तुति स्तर केवल एन-स्तरीय आर्किटेक्चर का है।

मैं वास्तव में उलझन में मिल गया, यह कैसे एक 3 स्तरीय संरचना शैली जहां MVC सिर्फ एक प्रस्तुति स्तरीय है, उदाहरण के लिए भी संभव हो सकता है, और डीटीओ, डीएओ, दाल सिर्फ डेटा हठ स्तरीय का एक हिस्सा है । मैं पूरी तरह से खो गया हूँ।

मुझे खुशी होगी अगर कोई मुझे सच बताए कि यह कैसे काम करता है।

कृपया इस प्रश्न को बंद न करें क्योंकि कई अलग-अलग अभिव्यक्तियों, मैंने इसे हर जगह देखा है, ये चीजें मूल रूप से बड़े अनुप्रयोगों में एक दूसरे से संबंधित हैं और मैं कल्पना नहीं कर सकता कि यह कैसे काम करता है।

मैं किसी भी उत्तर की सराहना करता हूं!

उत्तर

6

प्रत्येक के उद्देश्य के साथ शुरू की सुविधा देता है: -

डीटीओ

डाटा ट्रांसफर वस्तुओं। इन्हें आमतौर पर डेटा नियंत्रक से क्लाइंट (जेएस) में स्थानांतरित करने के लिए उपयोग किया जाता है। टर्म का उपयोग पीओसीओ/पीओजेओ के लिए भी कुछ लोगों द्वारा किया जाता है जो वास्तव में डाटाबेस से प्राप्त डेटा को धारण करता है।

डीएओ

डेटा एक्सेस ऑब्जेक्ट दाल लागू करने के लिए इस्तेमाल किया डिजाइन पैटर्न से एक है। यह डेटाबेस पर प्रश्नों को बनाता है और निष्पादित करता है और परिणामस्वरूप 'क्वेरी ऑब्जेक्ट', 'डेटा मैपर' आदि सहित विभिन्न अन्य पैटर्न का उपयोग करके पीओसीओ/पीओजेओ को परिणाम देता है। डीओओ परत को 'रिपोजिटरी' पैटर्न का उपयोग करके आगे बढ़ाया जा सकता है।

दाल

डेटा एक्सेस परत डीएओ/भंडार का उपयोग कर अपने डेटाबेस गतिविधियों/POCO आदि ORMs मदद से आप अपने DAL निर्माण करने के लिए लेकिन यह उन्हें भी उपयोग किए बिना लागू किया जा सकता सार।

MVC

मॉडल देखें नियंत्रण एक पैटर्न जो व्यवसाय तर्क से (प्रस्तुति) दृश्य अलग करने के लिए प्रयोग किया जाता है। एमवीसी के लिए, इससे कोई फर्क नहीं पड़ता कि डीएएल लागू किया गया है या नहीं।यदि डीएएल लागू नहीं किया गया है, तो डेटाबेस तर्क बस आपके मॉडल में जाता है जो एक अच्छा दृष्टिकोण नहीं है।

बड़े अनुप्रयोगों में एमवीसी केवल एन-टियर आर्किटेक्चर की प्रेजेंटेशन टियर है।

मॉडल ऊपर बताए अनुसार आपके अधिकांश व्यावसायिक तर्क का उपभोग करते हैं। एन-स्तरीय एप्लिकेशन में, यदि व्यवसाय तर्क पूरी तरह से अनुप्रयोगों/प्लेटफार्मों में पुन: प्रयोज्यता के उद्देश्य से अलग किया जाता है, तो एमवीसी में मॉडल को एनीमिक मॉडल कहा जाता है। यदि बीआई को आपके आवेदन में उस पैमाने पर फिर से उपयोग नहीं करने की आवश्यकता है, तो आप इसे पकड़ने के लिए मॉडल का उपयोग कर सकते हैं। कोई भ्रम नहीं, है ना?

मुझे खुशी होगी अगर कोई मुझे सच बताए कि यह कैसे काम करता है।

सभी एमवी * पैटर्न केवल विचार/अवधारणा को परिभाषित करते हैं; वे कार्यान्वयन को परिभाषित नहीं करते हैं। एमवी * पैटर्न मुख्य रूप से बीआई से दृश्य को अलग करने पर ध्यान केंद्रित करते हैं। बस इस पर ध्यान केंद्रित करें।

this डेटा रखने वाले विभिन्न ऑब्जेक्ट्स के बारे में विवरण के लिए उत्तर दें।

+0

आपके उत्तर के लिए धन्यवाद! अब यह निश्चित रूप से बेहतर है, लेकिन मैं अभी भी थोड़ा उलझन में हूं। क्या आप पुष्टि कर सकते हैं, क्या मैंने इसे सही तरीके से प्राप्त किया? तो, ओआरएम (ओओ दुनिया और रिलेशनल डेटाबेस के बीच एक पुल की तरह क्या है) के साथ मैं डीएएल का निर्माण कर सकता हूं। डीएएल में डीटीओ और डीएओ शामिल है जो स्केल किए गए एप्लिकेशन को बनाने में मेरी मदद करता है, अन्यथा यह मॉडल के लिए आसान हो जाता है और यह खराब अभ्यास है। क्या मैं सही हूँ? –

+1

आपको यह सही ढंग से मिला ... :) –

+0

हुअराराय, धन्यवाद! :) –