2008-09-25 18 views
6

मैं वेब फॉर्म मॉडल में एक लंबे समय से एएसपी.NET डेवलपर रहा हूं, और एएसपी.नेट एमवीसी के साथ अपने पैरों को गीला करने का अवसर के रूप में एक नई परियोजना का उपयोग कर रहा हूं।एमवीसी का उपयोग कर एएसपी.नेट में एपीआई को लागू करने का सबसे अच्छा तरीका क्या है?

एप्लिकेशन को एक एपीआई की आवश्यकता होगी ताकि अन्य ऐप्स का एक समूह इसके साथ संवाद कर सके। मैंने हमेशा एपीआई के बाहर एक मानक वेब सेवा का उपयोग कर बनाया है।

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

तो, आप क्या कहते हैं, स्टैक ओवरफ़्लो denizens?

उत्तर

7

मैं किल्फोफर से सहमत हूं। "IFacade" से प्राप्त "फेकाडे" रैपर क्लास का उपयोग करने का प्रयास करें। अपने फेकाडे वर्ग में अपना कोड अपनी वेब सेवा का उपभोग करने के लिए रखें। इस तरह आपके नियंत्रक बस फेकाडे को कॉल करेंगे। इसका प्लस साइड यह है कि आप एक "डमीफैक्ड" को स्वैप कर सकते हैं जो कि उसी आईफैक्ड इंटरफेस को लागू करता है, जो वास्तव में वेब सेवा से बात नहीं करता है और केवल स्थिर सामग्री देता है। आपको सेवा को मारने के बिना वास्तव में कुछ यूनिट परीक्षण करने देता है। मूल रूप से रिपोजिटरी पैटर्न के समान विचार।

+1

मैं सहमत हूं। मैं आपकी सभी सेवा उपभोग करने वाले अनुप्रयोगों के साथ अनुशंसा करता हूं। – Kilhoffer

2

मैं अभी भी एक सेवा परत की अनुशंसा करता हूं जो क्लाइंट साइड उपभोक्ताओं या सर्वर साइड उपभोक्ताओं को सेवा दे सके। उपभोक्ता कॉलर के आधार पर संभावित रूप से विभिन्न प्रारूपों में भी डेटा लौटा रहा है।

संबंधित मुद्दे

 संबंधित मुद्दे