मैं सी # का उपयोग करके टीडीडी सीख रहा हूं, जहां तक मुझे पता है कि टेस्ट को ड्राइव करना चाहिए , कि टेस्ट पास करने के लिए नंगे न्यूनतम कोड लिखने के बाद सबसे पहले फेलिंग टेस्ट लिखें ।
लेकिन यह भी कहा जाता है कि " प्रोग्राम टू इंटरफ़ेस, इंप्लीमेंटेशन नहीं ", इसलिए पहले एक इंटरफ़ेस लिखें । यहीं से मेरा भ्रम शुरू होता है, अगर मैं पहले इंटरफ़ेस लिख रहा हूं तो यह दो चीजों का उल्लंघन कर रहा है
कोड जो इंटरफ़ेस के लिए लिखा गया है वह परीक्षण द्वारा संचालित नहीं है ।
यह नंगे न्यूनतम नहीं है जाहिर है मैं इसे एक साधारण वर्ग के साथ लिख सकता हूं।
क्या मुझे इंटरफ़ेस के लिए परीक्षण लिखकर भी शुरू करना चाहिए? किसी भी कार्यान्वयन के बिना मैं क्या परीक्षण करने जा रहा हूं?
अगर यह सवाल मूर्खतापूर्ण लगता है तो उसके लिए खेद है, लेकिन मैं पूरी तरह से भ्रमित हूं। हो सकता है मैं चीजों को सचमुच ले जा रहा हूं।
contract
। यह एक अमूर्त वर्ग के रूप में हो सकता है, उदाहरण के लिए, हालांकि यह एक आभासी वर्ग / तरीका नहीं होना चाहिए क्योंकि आप इसे तुरंत करने में सक्षम नहीं होना चाहिए।
interface
हर चीज के लिए उपयोग करना नहीं है । एclass
भी एक इंटरफ़ेस प्रदान करता है, क्योंकि आपprivate
चर में कार्यान्वयन विवरण छिपा सकते हैं ।