Refactoring - Version OK
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import 'package:get_it/get_it.dart';
|
||||
import '../data/datasources/dashboard_remote_datasource.dart';
|
||||
import '../data/repositories/dashboard_repository_impl.dart';
|
||||
import '../domain/repositories/dashboard_repository.dart';
|
||||
import '../domain/usecases/get_dashboard_data.dart';
|
||||
import '../presentation/bloc/dashboard_bloc.dart';
|
||||
import '../../../core/network/dio_client.dart';
|
||||
import '../../../core/network/network_info.dart';
|
||||
|
||||
/// Configuration de l'injection de dépendances pour le module Dashboard
|
||||
class DashboardDI {
|
||||
static final GetIt _getIt = GetIt.instance;
|
||||
|
||||
/// Enregistre toutes les dépendances du module Dashboard
|
||||
static void registerDependencies() {
|
||||
// Data Sources
|
||||
_getIt.registerLazySingleton<DashboardRemoteDataSource>(
|
||||
() => DashboardRemoteDataSourceImpl(
|
||||
dioClient: _getIt<DioClient>(),
|
||||
),
|
||||
);
|
||||
|
||||
// Repositories
|
||||
_getIt.registerLazySingleton<DashboardRepository>(
|
||||
() => DashboardRepositoryImpl(
|
||||
remoteDataSource: _getIt<DashboardRemoteDataSource>(),
|
||||
networkInfo: _getIt<NetworkInfo>(),
|
||||
),
|
||||
);
|
||||
|
||||
// Use Cases
|
||||
_getIt.registerLazySingleton(() => GetDashboardData(_getIt<DashboardRepository>()));
|
||||
_getIt.registerLazySingleton(() => GetDashboardStats(_getIt<DashboardRepository>()));
|
||||
_getIt.registerLazySingleton(() => GetRecentActivities(_getIt<DashboardRepository>()));
|
||||
_getIt.registerLazySingleton(() => GetUpcomingEvents(_getIt<DashboardRepository>()));
|
||||
|
||||
// BLoC
|
||||
_getIt.registerFactory(
|
||||
() => DashboardBloc(
|
||||
getDashboardData: _getIt<GetDashboardData>(),
|
||||
getDashboardStats: _getIt<GetDashboardStats>(),
|
||||
getRecentActivities: _getIt<GetRecentActivities>(),
|
||||
getUpcomingEvents: _getIt<GetUpcomingEvents>(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/// Nettoie les dépendances du module Dashboard
|
||||
static void unregisterDependencies() {
|
||||
_getIt.unregister<DashboardBloc>();
|
||||
_getIt.unregister<GetUpcomingEvents>();
|
||||
_getIt.unregister<GetRecentActivities>();
|
||||
_getIt.unregister<GetDashboardStats>();
|
||||
_getIt.unregister<GetDashboardData>();
|
||||
_getIt.unregister<DashboardRepository>();
|
||||
_getIt.unregister<DashboardRemoteDataSource>();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user