Sobes.tech
Junior

Flutter-деги учурлар эмне үчүн керек?

sobes.tech AI

AIден жооп

Колдонуучу учурлары (use cases) бизнес логикасынын катмары болуп саналат, ал UI жана маалыматтардан бөлүнгөн. Алар колдонуучу же системанын так аракеттерин сүрөттөйт, алар репозиторийлерден алынган маалыматтар менен ишке ашырылат.

Колдонуучу учурларын колдонуунун артыкчылыктары:

  • Таза жана модулдуу: Бизнес эрежелерин UI дан бөлүү кодду түшүнүктүү жана оңой тейлөөчү кылат.
  • Тестирлөө мүмкүнчүлүгү: Колдонуучу учурларына камтылган бизнес логика изоляцияланган жана оңой тестирленет.
  • Кайталап колдонуу: Колдонуучу учурлар колдонмонун ар кайсы бөлүктөрүндө же башка колдонмолордо колдонулушу мүмкүн.
  • Окуулушу: Колдонуучу учурларынын аталыштары көбүнчө колдонуучу же системанын ниетин чагылдырат, бул коддун окуулушун жакшыртат.

Көп учурда, колдонуучу учурлар:

  • Бир же бир нече репозиторийлерге көз каранды болуп, маалымат алат.
  • Бул маалыматтар менен операцияларды жүргүзөт (мисалы, фильтрлөө, сорттоо, трансформациялоо).
  • UI жөнүндө билишпейт жана анын менен түздөн-түз иштешпейт.
  • Алар презентаторлор же абал берүүчүлөр тарабынан колдонулат (мисалы, BLoC, Riverpod).

Колдонуучу учурунун структурасына мисал:

// Келечектеги маанилерди кайтарган колдонуучу учурлар үчүн абстракт негизги класс.
abstract class FutureUseCase<T, P> {
  Future<T> call(P params);
}

// Колдонуучулардын тизмесин алуу үчүн конкреттүү колдонуучу учур.
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();
  }
}

// Кириш параметрлери талап кылынбаган колдонуучу учурлар үчүн параметрсиз класс.
class NoParams {}