2011-09-22 17 views
5

क्या यह अच्छा दृष्टिकोण है जब क्लास इंटरैक्शन को सॉफ़्टवेयर-डिजाइन करने में केवल इंटरफेस के साथ वर्णन किया जाता है? यदि हां, तो क्या मुझे हमेशा इस दृष्टिकोण का उपयोग करना चाहिए?केवल इंटरफेस के साथ सॉफ्टवेयर डिजाइन?

मुझे कक्षा पुस्तकालय को डिज़ाइन करना होगा जिसमें उच्च टेस्टेबिलिटी होनी चाहिए (मैं सी # का उपयोग करता हूं)।

इस पुस्तकालय में मुखौटा और पृष्ठभूमि में विभिन्न इंटरैक्शन वाले वर्गों की कुछ मात्रा है।

अच्छी लाइब्रेबिलिटी के लिए इस लाइब्रेरी को अनुकूलित करने के मामले में मैंने इंटरफेस के साथ अपने वर्गों के अधिकांश भाग को प्रतिस्थापित किया है।

और जब मैंने ऐसा किया, तो मैंने केवल एक कनेक्शन आरेख (विजुअल स्टूडियो क्लास आरेख) में इंटरफेस देखा।

क्या यह मेरी समस्या का सामान्य निर्णय है? या कोई और दृष्टिकोण होना चाहिए?

पी/एस: शायद यह सॉफ्टवेयर-डिज़ाइन में जाने-माने तरीका है लेकिन मुझे किताबों में कुछ पुष्टि नहीं मिल रही है।

+0

आपकी पोस्ट का पालन करना थोड़ा मुश्किल है, और मैं सी # का उपयोग नहीं करता हूं। लेकिन अगर आप encapsulation का जिक्र करते हैं, तो यह एक ओओपी पर्यावरण में सबसे अच्छा अभ्यास है। –

उत्तर

5

हाँ यह अच्छा अभ्यास है। यह आपको कार्यान्वयन विवरण से संबंधित बिना प्रत्येक वर्ग की जिम्मेदारियों पर ध्यान केंद्रित करने की अनुमति देता है। यह आपको विधि कॉल स्टैक देखने की अनुमति देता है और जैसा कि आप कहते हैं कि उच्च स्तर की टेस्टेबिलिटी और रखरखाव देता है। जहां तक ​​मैं देखता हूं, आप सही रास्ते पर हैं :)

2

हाँ, यह आम तौर पर एक अच्छा अभ्यास है। मैं उदाहरण के लिए एक अच्छा डिजाइन पैटर्न पुस्तक को पढ़ने के लिए आप की सिफारिश करेंगे: http://shop.oreilly.com/product/9780596007126.do यह जावा डेवलपर्स के लिए लक्षित है, लेकिन मैं कोई एक सी # डेवलपर के रूप में सारे उदाहरण समझने में कोई परेशानी नहीं थी।

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