कल्पना कीजिए कि कक्षा एक उदाहरण Load()
विधि के साथ है।स्टेटिक तरीके से निर्भरता इंजेक्शन का उपयोग कैसे करें?
जब Load()
विधि कहा जाता है, तो यह ऑर्डर विवरण पुनर्प्राप्त करता है उदा।
var orders = Order.GetAll(customerId, ...);
GetAll()
Order
वर्ग के एक स्थिर तरीका है और इनपुट पैरामीटर Customer
वर्ग में परिभाषित क्षेत्र हैं।
आप देख सकते हैं, Order
Customer
वर्ग के एक निर्भरता, हालांकि, मैं सिर्फ एक IOrder
नहीं बना पा रहा है और वहाँ यह इंजेक्षन इंटरफेस स्थिर पद्धतियां नहीं हो सकतीं के रूप में है।
इसलिए, प्रश्न यह है कि मैं इस उदाहरण में निर्भरता इंजेक्शन कैसे पेश कर सकता हूं?
मैं GetAll()
एक उदाहरण विधि बनाना नहीं चाहता क्योंकि यह एक स्थिर विधि है और इसे इस तरह से रखने की आवश्यकता है।
उदाहरण के लिए, मैंने अपने डिजाइन में उपयोगिता कक्षाओं का उपयोग किया है, जिनमें से अधिकांश में स्थिर विधियां हैं।
धन्यवाद, क्या ये भंडार वर्ग और इंटरफेस डेटा एक्सेस लेयर का हिस्सा होंगे? माई ऑर्डर क्लास ऑर्डर टेबल से मैप की गई एक व्यावसायिक इकाई है (LINQ से SQL का उपयोग करके)। –
@ user133212 यह आपके मौजूदा फ़ंक्शन के आसपास सिर्फ एक रैपर है। इसलिए जहां भी यह कार्य तार्किक रूप से परत-वार से संबंधित है, मैं भी रैपर डालूंगा। –