Files
habo/lib/repositories/repository_factory.dart
dazhuang aa69f2a91e feat: initial commit - Habo habit tracking app
- Complete MVP with Repository Pattern, SQLite storage
- Provider + ChangeNotifier state management
- Navigation 2.0 with deep link support
- Habit CRUD with twoDayRule, notifications, categories
- Backup/Restore via JSON
- Statistics with streak tracking
- Material You theme support
- Biometric lock support
- Desktop widget support
- 27 languages i18n structure
- Comprehensive test suite (87/89 passing)
2026-04-13 15:02:30 +00:00

33 lines
1.0 KiB
Dart

import 'package:habo/model/habo_model.dart';
import 'package:habo/repositories/habit_repository.dart';
import 'package:habo/repositories/event_repository.dart';
import 'package:habo/repositories/category_repository.dart';
import 'package:habo/repositories/sqlite_habit_repository.dart';
import 'package:habo/repositories/sqlite_event_repository.dart';
import 'package:habo/repositories/sqlite_category_repository.dart';
class RepositoryFactory {
final HaboModel _model;
HabitRepository? _habitRepository;
EventRepository? _eventRepository;
CategoryRepository? _categoryRepository;
RepositoryFactory(this._model);
HabitRepository get habitRepository {
_habitRepository ??= SqliteHabitRepository(_model);
return _habitRepository!;
}
EventRepository get eventRepository {
_eventRepository ??= SqliteEventRepository(_model);
return _eventRepository!;
}
CategoryRepository get categoryRepository {
_categoryRepository ??= SqliteCategoryRepository(_model);
return _categoryRepository!;
}
}