Thuta Learning
Dart
AdvancedProgrammingbeginner

Generics & Extension Methods

Dartသင်ခန်းစာ 19

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Generics & Extension Methods ရဲ့ type နဲ့ runtime behavior ကိုရှင်းပြနိုင်ရန်
  • Null, failure, boundary နဲ့ async cases စမ်းနိုင်ရန်
  • Safe, idiomatic, testable Dart code ရေးနိုင်ရန်

Generics & Extension Methods ကို stable API နဲ့ exhaustive domain model ဖော်ပြဖို့သုံးပါ။ Composition, sealed hierarchies, constrained generics နဲ့ focused extensions ကိုဦးစားပေးပြီး hidden mutation နဲ့ unchecked casts ကိုလျှော့ပါ။

ပိုပြီးနားလည်ထားရမယ့် အချက်

Generics & Extension Methods ကို stable API နဲ့ exhaustive domain model ဖော်ပြဖို့သုံးပါ။ Composition, sealed hierarchies, constrained generics နဲ့ focused extensions ကိုဦးစားပေးပြီး hidden mutation နဲ့ unchecked casts ကိုလျှော့ပါ။

လက်တွေ့မှာ ဘယ်လိုအသုံးချမလဲ

Generics & Extension Methods example ကို null, empty, boundary, invalid, async-error နဲ့ cancellation cases ဖြင့် run/test လုပ်ပါ။ dart format, dart analyze နဲ့ dart test ကိုသုံးပြီး Future/Stream subscription နဲ့ isolate boundary ကိုလိုအပ်သလိုစစ်ပါ။

ဒီသင်ခန်းစာပြီးရင်

dart
T? firstOrNull<T>(List<T> values) => values.isEmpty ? null : values.first;

extension IntTotals on Iterable<int> {
  int get total => fold(0, (sum, value) => sum + value);
}

void main() {
  print(firstOrNull(<String>['Dart']));
  print([1, 2, 3].total);
}
You should see
Dart
6

ကိုယ်တိုင်စမ်းကြည့်ရန်

Generics & Extension Methods example ကို null, empty, boundary, invalid, async-error နဲ့ cancellation cases ဖြင့် run/test လုပ်ပါ။ dart format, dart analyze နဲ့ dart test ကိုသုံးပြီး Future/Stream subscription နဲ့ isolate boundary ကိုလိုအပ်သလိုစစ်ပါ။

Null/Async သတိပေးချက်

Sample output တစ်ခုမှန်ရုံဖြင့် null, promotion, Future, Stream နဲ့ isolate paths အားလုံးမှန်ပြီဟုယူဆခြင်း။

Dart language overviewDart

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Sample output တစ်ခုမှန်ရုံဖြင့် null, promotion, Future, Stream နဲ့ isolate paths အားလုံးမှန်ပြီဟုယူဆခြင်း။
  • dynamic, ! သို့မပိတ်ထားသော Stream subscription ဖြင့် type safety နဲ့ resource lifecycle ကိုကျော်ခြင်း။

လက်တွေ့လေ့ကျင့်ခန်း

Generics & Extension Methods example ကို null, empty, boundary, invalid, async-error နဲ့ cancellation cases ဖြင့် run/test လုပ်ပါ။ dart format, dart analyze နဲ့ dart test ကိုသုံးပြီး Future/Stream subscription နဲ့ isolate boundary ကိုလိုအပ်သလိုစစ်ပါ။

You'll know it worked when: Dart 6