मेरे पास एएसपीनेट कोर एप्लिकेशन है। एप्लिकेशन में कुछ सहायक वर्ग हैं जो कुछ काम करते हैं। प्रत्येक वर्ग में अलग हस्ताक्षर विधि होती है। मैं बहुत सारे नेट नेट उदाहरण ऑनलाइन देखता हूं जो प्रत्येक वर्ग के लिए इंटरफेस बनाते हैं और फिर डी फ्रेमवर्क के साथ प्रकार पंजीकृत करते हैं। उदाहरण के लिएक्या हमें DI के लिए इंटरफेस चाहिए?
public interface IStorage
{
Task Download(string file);
}
public class Storage
{
public Task Download(string file)
{
}
}
public interface IOcr
{
Task Process();
}
public class Ocr:IOcr
{
public Task Process()
{
}
}
असल में प्रत्येक इंटरफ़ेस के लिए केवल एक वर्ग है। तो फिर मैं के रूप में
services.AddScoped<IStorage, Storage>();
services.AddScoped<IOcr,Ocr>();
डि साथ इन प्रकार के रजिस्टर लेकिन मैं इंटरफेस होने इसलिए यहाँ इंटरफेस बेमानी लग रही बिना प्रकार रजिस्टर कर सकते हैं। उदाहरण के लिए
services.AddScoped<Storage>();
services.AddScoped<Ocr>();
तो क्या मुझे वास्तव में इंटरफेस की आवश्यकता है?
खैर तकनीकी रूप से आप उन्हें जरूरत नहीं है, लेकिन कैसे आप उचित परीक्षण करना होगा? Http: //softwareengineering.stackexchange यहां एक नज़र डालें।कॉम/प्रश्न/2 9 8831/कैसे-एक-इंटरफेस-प्रयुक्त-इन-निर्भरता-इंजेक्शन – DavidG
राइनो मॉक जैसे मॉकिंग फ्रेमवर्क इंटरफेस के बिना मैक्स बनाते हैं? – LP13
यह सवाल शायद http://softwareengineering.stackexchange.com के लिए अधिक उपयुक्त है। इस प्रश्न को आपके लिए वहां ले जाने के लिए एक मॉडरेटर से पूछने पर विचार करें (वहां दोबारा पोस्ट न करें - इसे दुर्व्यवहार माना जाता है।) –