Saya baru mengenal Unity IoC (DI secara umum) dan telah membaca banyak dokumen dan menonton video berdurasi beberapa jam di Channel 9. Bahkan setelah semua itu, saya tidak menemukan contoh apa pun yang mendemonstrasikan set fitur di mencari.
Segala sesuatu yang online menunjukkan bahwa Anda dapat membuat repositori, dan mendaftarkannya dengan wadah kesatuan. Kemudian saya bisa memasukkan repositori ke dalam konstruktor model tampilan saya. Di aplikasi khusus saya, saya perlu mendukung ParseCloud, Box, DropBox dan OneDrive, bersama dengan beberapa implementasi antarmuka. Jadi saya berencana membuat empat repositori, satu untuk setiap layanan.
Apakah lebih masuk akal jika Unity mendaftarkan satu pabrik repositori abstrak, yang dapat digunakan oleh model tampilan untuk mengambil repositori yang benar berdasarkan konfigurasi aplikasi?
Hal lain yang didukung oleh aplikasi (aplikasi tugas) adalah beberapa implementasi ITask, jadi saya memiliki BasicTask, GTDTask, GoogleTask. Jadi saya berpikir saya memerlukan metode repositori yang dapat menangani setiap implementasi, dan menyimpan implementasi di layanan cloud yang benar. Bagaimana cara mencapai abstraksi ini dengan Unity? Apakah yang terbaik adalah mendaftarkan semua tipe ITask dan meminta repositori abstrak menentukan tipe mana yang termasuk dalam repositori mana berdasarkan layanan tempat pengguna masuk?
Saya ingin menjaga model tampilan Halaman tetap independen dari implementasi tugas. Saya akan menggunakan DataTemplates yang tipe targetnya akan ditetapkan ke tipe tugas tertentu. Jadi UI dapat tetap digabungkan secara longgar dan model tampilan saya tidak digabungkan secara erat dengan semua repositori atau implementasi saya.
Terima kasih atas bantuannya.
Johnathon