Junior
Milleks on Flutter'is juhtumid vajalikud?
sobes.tech AI
Vastus AI-lt
Kaasused (use cases) on äriloogika kiht, mis on eraldatud kasutajaliidesest (UI) ja andmetest. Nad kirjeldavad konkreetseid kasutaja või süsteemi tegevusi, mis toimuvad andmetega, mis on saadud hoidlatest.
Kaasuste kasutamise eelised:
- Puhasus ja modulaarsus: Ärireeglite eraldamine UI-st muudab koodi arusaadavamaks ja hooldatavamaks.
- Testitavus: Kaasudes kapseldatud äriloogikat on lihtne isoleeritult testida.
- Taaskasutus: Kaasuseid saab kasutada erinevates rakenduse osades või isegi teistes rakendustes.
- Lugemise lihtsus: Kaasuste nimed peegeldavad sageli kasutaja või süsteemi kavatsust, mis parandab koodi loetavust.
Tavaliselt:
- Sõltuvad ühest või mitmest hoidlast andmete saamiseks.
- Teostavad nende andmetega operatsioone (näiteks filtreerimine, sortimine, teisendamine).
- Ei tea UI-st ega suhtle sellega otse.
- Kasutatakse esitlejate või olekupakkujate (näiteks BLoC, Riverpod) poolt.
Kaasuse struktuuri näide:
// Abstraktne baasklass tulevikuväärtuste tagastamiseks.
abstract class FutureUseCase<T, P> {
Future<T> call(P params);
}
// Konkreetne kaasus kasutajate nimekirja saamiseks.
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();
}
}
// Parameetriteta klass kaasustele, mis ei vaja sisendandmeid.
class NoParams {}