Files
flutterApp/lib/features/v2/my/di/my_di.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,
);
}
}