33 lines
1.5 KiB
Dart
33 lines
1.5 KiB
Dart
|
|
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,
|
||
|
|
);
|
||
|
|
}
|
||
|
|
}
|