Refactoring - Version OK
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
/// Configuration de l'injection de dépendances pour le module Organizations
|
||||
library organizations_di;
|
||||
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:get_it/get_it.dart';
|
||||
import '../data/repositories/organization_repository.dart';
|
||||
import '../data/services/organization_service.dart';
|
||||
import '../bloc/organizations_bloc.dart';
|
||||
|
||||
/// Configuration des dépendances du module Organizations
|
||||
class OrganizationsDI {
|
||||
static final GetIt _getIt = GetIt.instance;
|
||||
|
||||
/// Enregistre toutes les dépendances du module
|
||||
static void registerDependencies() {
|
||||
// Repository
|
||||
_getIt.registerLazySingleton<OrganizationRepository>(
|
||||
() => OrganizationRepositoryImpl(_getIt<Dio>()),
|
||||
);
|
||||
|
||||
// Service
|
||||
_getIt.registerLazySingleton<OrganizationService>(
|
||||
() => OrganizationService(_getIt<OrganizationRepository>()),
|
||||
);
|
||||
|
||||
// BLoC - Factory pour permettre plusieurs instances
|
||||
_getIt.registerFactory<OrganizationsBloc>(
|
||||
() => OrganizationsBloc(_getIt<OrganizationService>()),
|
||||
);
|
||||
}
|
||||
|
||||
/// Nettoie les dépendances du module
|
||||
static void unregisterDependencies() {
|
||||
if (_getIt.isRegistered<OrganizationsBloc>()) {
|
||||
_getIt.unregister<OrganizationsBloc>();
|
||||
}
|
||||
if (_getIt.isRegistered<OrganizationService>()) {
|
||||
_getIt.unregister<OrganizationService>();
|
||||
}
|
||||
if (_getIt.isRegistered<OrganizationRepository>()) {
|
||||
_getIt.unregister<OrganizationRepository>();
|
||||
}
|
||||
}
|
||||
|
||||
/// Obtient une instance du BLoC
|
||||
static OrganizationsBloc getOrganizationsBloc() {
|
||||
return _getIt<OrganizationsBloc>();
|
||||
}
|
||||
|
||||
/// Obtient une instance du service
|
||||
static OrganizationService getOrganizationService() {
|
||||
return _getIt<OrganizationService>();
|
||||
}
|
||||
|
||||
/// Obtient une instance du repository
|
||||
static OrganizationRepository getOrganizationRepository() {
|
||||
return _getIt<OrganizationRepository>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user