बस वेब सेवा इंटरफ़ेस डिज़ाइन के संबंध में सर्वोत्तम प्रथाओं पर कुछ प्रतिक्रिया ढूंढ रहे हैं।वेब सेवा इंटरफ़ेस - जटिलता पैरामीटर के रूप में टाइप करें?
मैं दो विकल्प हैं:
विकल्प 1
public string GetSomeData(SomeCriteriaClass criteria);
जहां SomeCriteriaClass के रूप में परिभाषित किया गया है:
public int ID;
public string Name;
public string Property2; etc.
विकल्प 2
public string GetSomeData(int id, string name, string property2)
पसंदीदा विकल्प कौन सा है? यह डिजाइन पैटर्न के संघर्ष की तरह लगता है - 1 कक्षा में पैरामीटर लपेटना है, लेकिन दूसरा वेब सेवा इंटरफेस को लचीला और खुला रख रहा है।
दूसरा सवाल यह है कि - यदि हम विकल्प 1 चुनते हैं - आप इसे यूआरएल के माध्यम से कैसे कहते हैं?
धन्यवाद
आप विकल्प 2 क्यों कहते हैं "वेब सेवा इंटरफ़ेस को लचीला और खुला रखना" है? इसका मतलब है कि डेटा पैरामीटर में कोई भी परिवर्तन एपीआई की घोषणा को प्रभावित करेगा, जबकि विकल्प 1 में यह केवल "पैरामीटर क्लास" घोषणा (और कॉलिंग कोड) को प्रभावित करेगा। –
क्षमा करें, यह बिल्कुल सही है, लचीले और खुले के बजाय, जिसे "दृश्यमान और सीधा-आगे" पढ़ना चाहिए था। मुझे यकीन नहीं है कि आप एक यूआरएल के माध्यम से एक जटिल प्रकार में गुजरने वाली वेब सेवा को कैसे कॉल करेंगे - जिससे मुझे थोड़ा प्रभावित हुआ है। क्या कमियां हैं, क्या इससे अधिक जटिल हो जाता है? – Duncan