import 'package:maibu_satabot_v2/features/v2/my/data/datasources/my_remote_datasource.dart'; import 'package:maibu_satabot_v2/features/v2/my/data/datasources/impl/my_remote_datasource_impl.dart'; import 'package:maibu_satabot_v2/features/v2/my/data/repositories/my_repository_impl.dart'; import 'package:maibu_satabot_v2/features/v2/my/domain/repositories/my_repository.dart'; import 'package:maibu_satabot_v2/features/v2/my/domain/usecases/clear_cache_usecase.dart'; import 'package:maibu_satabot_v2/features/v2/my/domain/usecases/get_menu_items_usecase.dart'; import 'package:maibu_satabot_v2/features/v2/my/domain/usecases/toggle_night_mode_usecase.dart'; import 'package:maibu_satabot_v2/features/v2/my/presentation/cubit/my_cubit.dart'; /// 我的页面依赖注入 class MyDependencyInjector { /// 创建 MyCubit 实例 static MyCubit createMyCubit() { // 创建数据源 final MyRemoteDataSource remoteDataSource = MyRemoteDataSourceImpl(); // 创建仓储 final MyRepository repository = MyRepositoryImpl(remoteDataSource); // 创建用例 final GetMenuItemsUseCase getMenuItemsUseCase = GetMenuItemsUseCase(repository); final ToggleNightModeUseCase toggleNightModeUseCase = ToggleNightModeUseCase(repository); final ClearCacheUseCase clearCacheUseCase = ClearCacheUseCase(repository); // 创建 Cubit return MyCubit( getMenuItemsUseCase: getMenuItemsUseCase, toggleNightModeUseCase: toggleNightModeUseCase, clearCacheUseCase: clearCacheUseCase, ); } }