design - Is there any value in separating wcf service contracts from your interface definition? -


मेरे पास इंटरफ़ेस आईसी ग्राहक एस सेवा है:

  सार्वजनिक इंटरफ़ेस ICustomerService {CustomerList FindAll (); }  

और उस इंटरफ़ेस को लागू करने वाला एक ठोस वर्ग। अब मुझे WCF / बाकी का उपयोग कर वेब पर विधि का पर्दाफाश करने की आवश्यकता है और मुझे इंटरफ़ेस की परिभाषा को इसमें बदलना होगा:

  [serviceContract] सार्वजनिक इंटरफ़ेस ICustomerService {[ऑपरेशन कॉन्ट्रैक्ट] [WebInvoke ( विधि = "प्राप्त", उरीटेमप्लेट = "ग्राहक")] ग्राहक सूची खोज (सभी); }  

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

कोड पठनीयता (अगर आपके ग्राहकों को आपके इंटरफ़ेस स्रोत को देखना होगा) के अलावा गुणों का कोई डाउनसाइड नहीं होना चाहिए।

विशेषताएँ किसी को भी दिलचस्पी से पढ़ा जा सकती हैं (जैसे WCF फ्रेमवर्क) या अनदेखी की जाएगी। असल में वे किसी भी लागू करने वाले वर्ग (देखें) से दिखाई नहीं देंगे।

हालांकि वास्तुकला के स्तर पर, 2 इंटरफेस का उपयोग करने पर विचार करें, एक dll- संदर्भित क्लाइंट के लिए और एक को REST क्लाइंट के लिए। वे समान ही हो सकते हैं, वे एक ही आधार इंटरफ़ेस और कार्यान्वयन भी साझा कर सकते हैं, लेकिन यदि आपके व्यवसाय के मामले की आवश्यकता है, तो आपके पास उन्हें एक दूसरे से हटाने की क्षमता है। इसके अलावा, यह आपको रखने की संभावना देता है डब्लूसीएफ विशेषता डब्लूसीएफ वेब एप्लिकेशन प्रोजेक्ट में भरे इंटरफेस, और एक कोर क्लास पुस्तकालय परियोजना में स्वच्छ इंटरफेस और कार्यान्वयन।


Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -