मैं वर्तमान में एमवीवीएम पैटर्न सीख रहा हूं, और मैं जिस ट्यूटोरियल का अनुसरण कर रहा हूं वह DI के लिए एकता का उपयोग करता है। मैंने वास्तव में पहले इस तरह डीआई का उपयोग नहीं किया है और यह सिर्फ मेरे विचारों के स्पष्टीकरण चाहता था कि यह विशिष्ट कोड कैसे काम करता है।एमवीवीएम और निर्भरता इंजेक्शन
देखें में मेरे पास है:
private ViewModel vm;
[Dependency]
public ViewModel VM
{
set
{
vm = value;
this.DataContext = vm;
}
}
जहां निर्भरता विशेषता एकता कह रहा है यहाँ इंजेक्षन करने के लिए। के रूप में मैं कभी नहीं स्पष्ट रूप से ऊपर संपत्ति का उपयोग कर ViewModel की एक वस्तु बनाने रहा हूँ,
IUnityContainer container = new UnityContainer();
RandomQuoteSource randomQuoteSource = new RandomQuoteSource();
container.RegisterInstance<IQuoteSource>(randomQuoteSource);
MainWindow window = container.Resolve<MainWindow>();
window.Show();
वास्तव में किस प्रकार काम करता है: ViewModel निर्माता एक IQuoteSource वस्तु है जो इस तरह के रूप में एकता के साथ पंजीकृत है लेता है। क्या यह सब एकता के भीतर संभाला जाता है, यदि ऐसा है तो यह कैसे प्राप्त करता है?
धन्यवाद।
हाय, हाँ वीएम मेनविंडो की एक संपत्ति है। धन्यवाद। –