- 1 سال قبل
- علیرضا نصراله زاده
تزریق وابستگی Get_It در فلاتر
Get_It یک کتابخانه محبوب برای تزریق وابستگی (Dependency Injection) در فریمورک فلاتر است. با استفاده از Get_It، میتوانید وابستگیها را به صورت متمرکز و قابل تغییر در برنامه فلاتر خود تزریق کنید.
برای استفاده از Get_It، مراحل زیر را دنبال کنید:
نصب Get_It: ابتدا باید کتابخانه Get_It را به پروژه فلاتر خود اضافه کنید. برای این کار، مطمئن شوید که ردهبندی get_it در فایل pubspec.yaml پروژه شما درج شده است و سپس با استفاده از ابزار Flutter Packages Get یا دستورات فلاتر در خط فرمان، کتابخانه را نصب کنید.
تعریف وابستگیها: در فایل dart یا dart/flutter قسمت بالایی فایل، یک instance از کلاس GetIt را تعریف کنید. میتوانید از این کلاس برای ثبت وابستگیها و به دست آوردن آنها استفاده کنید. برای مثال:
import 'package:get_it/get_it.dart';
GetIt getIt = GetIt.instance;
void setupLocator() {
// ثبت وابستگیها
getIt.registerSingleton<MyService>(MyService());
getIt.registerFactory(() => AnotherService());
}
فراخوانی تابع setupLocator: برای ثبت وابستگیها در Get_It، باید تابع setupLocator را در ابتدای برنامه فلاتر خود صدا بزنید. بهتر است این کار را در تابع main فایل main.dart انجام دهید. برای مثال:
void main() {
setupLocator();
runApp(MyApp());
}
دریافت وابستگیها: حالا میتوانید در هر قسمتی از برنامه خود وابستگیها را دریافت کنید. برای این کار، از متغیر getIt استفاده کنید و به متد get<T> آن وابستگی مورد نظر را به عنوان نوع generic بدهید. برای مثال:
MyService myService = getIt.get<MyService>();
این کد از getIt متد get را فراخوانی میکند و instance از MyService را برمیگرداند.
با استفاده از Get_It، میتوانید وابستگیها را در سراسر برنامه فلاتر خود تزریق کنید و به آنها دسترسی داشته باشید. این الگوی تزریق وابستگی قابلیتهایی مانند تزریق مفعولی (Named Injection) و تزریق خودکار (Automatic Injection) را نیز پشتیبانی میکند.