2013-09-27 4 views
6

मेरे पास एक एन-टियर एप्लिकेशन है जहां पीओसीओ सर्वर पक्ष पर इकाई फ्रेमवर्क द्वारा पॉप्युलेट किए जाते हैं और मेरे क्लाइंट अनुप्रयोगों में स्थानांतरित होते हैं। ग्राहक पीओसीओ में परिवर्तन करते हैं या नए पीओसीओ जोड़ते हैं और फिर उन्हें डेटाबेस में संग्रहीत करने के लिए सर्वर पर वापस भेजते हैं।इकाई फ्रेमवर्क पीओसीओ बदलें ट्रैकिंग रणनीतियां

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

उत्तर

6

एंटीटी फ्रेमवर्क में ऐसे डिस्कनेक्ट किए गए परिदृश्यों के लिए अच्छा अंतर्निहित समर्थन नहीं है। मैं तीन सामान्य विकल्पों के बारे में पता कर रहा हूँ:

  • उपयोग GraphDiff, एक खुला स्रोत ऐड-ऑन पुस्तकालय

    लाभ

    • क्लाइंट की तरफ परिवर्तन ट्रैकिंग कोड लिखने के लिए कोई ज़रूरत नहीं
    • डेटाबेस में डिस्कनेक्ट किए गए ऑब्जेक्ट ग्राफ़ को अद्यतन करने के लिए सामान्य पैटर्न
    • बहुत अधिक सह नहीं डी सर्वर साइड


    नुकसान पर लिखने के लिए

    • डाटाबेस पूछे किया जाना चाहिए और संस्थाओं एक वस्तु, जोड़े जाने के लिए अद्यतन या नष्ट कर दिया है अगर पता लगाने के लिए लोड करना होगा
    • निर्भरता ईएफ कोर पुस्तकालयों के अलावा एक तीसरी पार्टी लाइब्रेरी पर


  • मैन्युअल सर्वर साइड पर अद्यतन वस्तु रेखांकन (Example)

    लाभ

    • क्लाइंट की तरफ परिवर्तन ट्रैकिंग कोड लिखने के लिए
    • कोई निर्भरता एक पर कोई ज़रूरत नहीं ईएफ कोर पुस्तकालयों के अलावा तीसरी पार्टी लाइब्रेरी


    नुकसान

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


  • अपने वस्तुओं के लिए इकाई राज्यों के लिए प्रॉपर्टी जोड़ें और क्लाइंट साइड पर मैन्युअल रूप से परिवर्तन ट्रैक तदनुसार राज्यों को स्थापित करके (मेरे पास इस दृष्टिकोण के लिए कोई उदाहरण नहीं है; मेरा मानना ​​है कि जूली लर्मन इसका उपयोग कर रहा है और इसकी सिफारिश कर रहा है)

    लाभ

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


    Disadvan की इकाई राज्यों में ट्रैक किए गए राज्यों अनुवाद करने के लिए tages

    • ट्रैकिंग बदलें कोड क्लाइंट पक्ष पर लिखने के लिए
    • ग्राहक तरफ से कोई भी आम पैटर्न है, यानी सबसे परिवर्तन ट्रैकिंग परिदृश्यों (और ग्राहक प्रकार/यूआई प्रौद्योगिकियों) अलग-अलग कोड की आवश्यकता
संबंधित मुद्दे