c# - Where should I convert my entities to DTO's? -


मेरी वास्तुकला इस तरह दिखता है:

  • डोमेन
    • संस्थाएं
    • इंटरफेस
    • डीटीओ
    • आधारभूत संरचना
      • ORM
      • रिपॉजिटरी < / Ul>
      • सेवा
        • वेब सेवा

          मैं इसे बदलने के लिए ऑटोमैपर का उपयोग करना चाहता हूं। मैं केवल डीटीओ के बारे में जानना चाहता हूं, इसलिए मैं अनुमान लगाता हूं कि मेरा इंटरफेस होगा और मेरे रिपॉजिटरी ने परिवर्तित डीटीओ को वापस लौटा दिया है। दूसरे दिशा के लिए, मैं मान लेगा कि मेरे रिपॉजिटरीज डीटीओ ले जाएंगे और संस्थाओं में परिवर्तित हो जाएंगे? क्या मैं सही रास्ते पर हूं या क्या मैं बाएं क्षेत्र में हूं?

          1. आपकी रिपॉजिटरी केवल डोमेन समेकन के साथ सौदा, जो व्यवहार और लेन-देन के आसपास तैयार किए गए हैं।
          2. जब आप कमांड संसाधित करते हैं, तो आपकी एप्लिकेशन परत (वेब ​​सेवाओं) को डोमेन मॉडल पर तर्क को लागू करना चाहिए, फिर राशि को रिपॉजिटरी में वापस सहेजना।
          3. जब ग्राहक को वेब सेवा से डेटा की आवश्यकता होती है, तो आपके पास दो विकल्प होते हैं:

            • रिपॉजिटरीज से समुच्चय प्राप्त करें और उन्हें पोको डीटीओ (शायद ऑटोमैपर का उपयोग करके) पर मैप करें।
            • विशेष रूप से डीटीओ के डेटा को सीधे पूछताछ के लिए एक पतली डेटा-एक्सेस परत बनाएं

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

              किसी भी स्थिति में यह डोमेन स्तर को डीटीओ के रूप में परिवर्तित करने के लिए आवेदन परत (वेब ​​सेवा) होना चाहिए।

Comments