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 {}