Junior
Flutter-də halların nə üçün lazım olduğunu bilmək üçün?
sobes.tech Süni İntellekt
AI-dan cavab
İstifadə halları (use cases), UI və məlumatlardan ayrılmış biznes məntiqi qatını təmsil edir. Onlar istifadəçi və ya sistem tərəfindən yerinə yetirilən və depozitlərdən alınan məlumatlarla həyata keçirilən konkret hərəkətləri təsvir edir.
İstifadə hallarının istifadəsinin üstünlükləri:
- Təmizlik və modullluq: Biznes qaydalarını UI-dən ayırmaq kodu daha anlaşılan və dəstəklənməsi asan edir.
- Test ediləbilərlik: İstifadə hallarına daxil edilmiş biznes məntiqi müstəqil şəkildə test etmək asandır.
- Təkrar istifadə: İstifadə hallarını tətbiqin müxtəlif hissələrində və ya digər tətbiqlərdə istifadə etmək olar.
- Oxunaqlıq: İstifadə hallarının adları tez-tez istifadəçi və ya sistemin niyyətini əks etdirir ki, bu da kodun oxunaqlığını artırır.
Ən çox istifadə olunanlar:
- Bir və ya bir neçə depozitə bağlıdır və məlumat əldə edir.
- Bu məlumatlar üzərində əməliyyatlar həyata keçirir (məsələn, filtrləmə, sıralama, çevirmə).
- UI-ni tanımır və onunla birbaşa əlaqə saxlamır.
- Onlar təqdimatçılar və ya vəziyyət təminatçıları (məsələn, BLoC, Riverpod) tərəfindən istifadə olunur.
İstifadə halının strukturuna nümunə:
// Gələcək dəyərlər qaytaran istifadə halları üçün abstrakt əsas sinif.
abstract class FutureUseCase<T, P> {
Future<T> call(P params);
}
// İstifadəçi siyahısını almaq üçün konkret istifadə halı.
class GetUsersUseCase extends FutureUseCase<List<User>, NoParams> {
final UserRepository userRepository;
GetUsersUseCase(this.userRepository);
@override
Future<List<User>> call(NoParams params) async {
return await userRepository.getUsers();
}
}
// Giriş məlumatları tələb etməyən istifadə halları üçün parametrsiz sinif.
class NoParams {}