আমি একটি নতুন ডেস্কটপ অ্যাপ্লিকেশন শুরু করছি এবং আমি এটি এমভিভিএম এবং ডাব্লুপিএফ ব্যবহার করে তৈরি করতে চাই।
আমিও টিডিডি ব্যবহারের পরিকল্পনা করছি।
সমস্যাটি হ'ল আমি জানি না যে আমার প্রোডাকশন কোডে আমার নির্ভরতা ইনজেকশনের জন্য কীভাবে আইওসি পাত্রে ব্যবহার করা উচিত।
ধরুন আমার কাছে ফলোয়িং ক্লাস এবং ইন্টারফেস রয়েছে:
public interface IStorage
{
bool SaveFile(string content);
}
public class Storage : IStorage
{
public bool SaveFile(string content){
// Saves the file using StreamWriter
}
}
এবং তারপরে আমার আরও একটি ক্লাস রয়েছে যার IStorage
নির্ভরতা হিসাবে রয়েছে , মনে করুন যে এই শ্রেণিটি ভিউমোডেল বা ব্যবসায়িক শ্রেণি ...
public class SomeViewModel
{
private IStorage _storage;
public SomeViewModel(IStorage storage){
_storage = storage;
}
}
এর সাহায্যে আমি সহজেই ইউনিট পরীক্ষাগুলি লিখতে পারি তা নিশ্চিত করার জন্য যে তারা ঠিকঠাকভাবে কাজ করছে, মোক এবং ইত্যাদি ব্যবহার করছে that
সমস্যাটি যখন এটি আসল অ্যাপ্লিকেশনটিতে ব্যবহার করতে আসে। আমি জানি যে আমার অবশ্যই একটি আইওসি পাত্রে থাকতে হবে যা IStorage
ইন্টারফেসের জন্য একটি ডিফল্ট বাস্তবায়নকে সংযুক্ত করে , তবে আমি কীভাবে এটি করব?
উদাহরণস্বরূপ, আমার যদি নিম্নলিখিত xaml থাকে তবে এটি কেমন হবে:
<Window
... xmlns definitions ...
>
<Window.DataContext>
<local:SomeViewModel />
</Window.DataContext>
</Window>
আমি কীভাবে ডাব্লুপিএফকে সেই ক্ষেত্রে নির্ভরতা ইনজেক্ট করতে সঠিকভাবে বলতে পারি?
এছাড়াও, ধরুন SomeViewModel
আমার সি # কোড থেকে আমার একটি উদাহরণ প্রয়োজন , আমি এটি কীভাবে করব?
আমি মনে করি এটিতে আমি পুরোপুরি হারিয়ে গেছি, এটিকে পরিচালনা করার সর্বোত্তম উপায় কীভাবে তার কোনও উদাহরণ বা দিকনির্দেশনা আমি উপলব্ধি করব।
আমি স্ট্রাকচারম্যাপের সাথে পরিচিত, তবে আমি কোনও বিশেষজ্ঞ নই। এছাড়াও, যদি বাক্সের চেয়ে ভাল / সহজ / বাইরে ফ্রেমওয়ার্ক থাকে তবে দয়া করে আমাকে জানান।