Что нужно знать про Extension methods во Flutter/Dart?

FlutterJunior+: объясняет типичный сценарий, ограничения и простые ошибкиDart CoreТеорияdartdart-coreextension-methodsextensionsutils

Что хотят услышать интервьюеры:

Коротко: Extension methods добавляют методы к существующим типам без наследования и без изменения исходного класса.

Ответ:

Где применяется:

  • удобны для форматирования, маппинга и небольших доменных операций
  • не должны превращаться в свалку бизнес-логики
  • resolution зависит от статического типа

Пример:

extension DateLabel on DateTime {
  String get yyyyMmDd => '${
  ${
  year
}
-${
  ${
  month
}
-${
  ${
  day
}
';
}

Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: класть в extension сетевые запросы или mutable side effects.

Источники

Похожие вопросы