Что нужно знать про Extension methods во Flutter/Dart?
Что хотят услышать интервьюеры:
Коротко: Extension methods добавляют методы к существующим типам без наследования и без изменения исходного класса.
Ответ:
Где применяется:
- удобны для форматирования, маппинга и небольших доменных операций
- не должны превращаться в свалку бизнес-логики
- resolution зависит от статического типа
Пример:
extension DateLabel on DateTime {
String get yyyyMmDd => '${
${
year
}
-${
${
month
}
-${
${
day
}
';
} Как отвечать на собеседовании: объясните назначение, границы применения и почему это лучше альтернативы в конкретном сценарии. Типичная ошибка: класть в extension сетевые запросы или mutable side effects.