این مقاله نحوه انتقال از تک قلوها به تزریق وابستگی در یک برنامه SwiftUI با حداقل تلاش
اگر اینجا هستید، احتمالاً قبلاً می دانید که باید از تک قلوهایی با انواع مختلف اجتناب کنید دلایل مانند:
- وابستگی های پنهان: کلاسها به تکتونها بدون نشانگرهای صریح تکیه میکنند، که ردیابی وابستگیهای برنامهها را سختتر میکند و منجر به اتصال ناخواسته میشود.
- وابستگی های دایره ای: تکتونهای وابسته به یکدیگر میتوانند چرخههایی ایجاد کنند که منجر به بنبستهای اولیه میشود، زیرا نمونهها منتظر یکدیگر هستند.
- چالش های تست: استفاده از تکتونها آزمایش و پیشنمایشهای SwiftUI را پیچیده میکند، زیرا تکتونها را نمیتوان به راحتی با مسخرهها تعویض کرد.
عدم انعطاف پذیری: Singleton ها ارائه پیاده سازی های مختلف برای محیط های مختلف را دشوار می کنند (مثلاً نسخه های زنده در مقابل نسخه های ساختگی برای آزمایش).
و بسیاری دیگر.
تزریق وابستگی
برای غلبه بر بیشتر مشکلات می توانیم از آن استفاده کنیم تزریق وابستگی (DI). با استفاده از آن، تعویض در یک پیاده سازی جدید بسیار آسان تر می شود، زیرا اجزا به یک نمونه مشترک تکیه نمی کنند بلکه به پروتکل ها که می تواند به روش های مختلف اجرا شود. این امر باعث افزایش انعطاف پذیری، تست آسان تر و سازگاری با تکامل الزامات برنامه می شود.
تزریق سازنده
تزریق سازنده یک تکنیک ساده برای تزریق وابستگی ها با عبور دادن آنها است.