На этот вопрос нет правильного ответа, вероятно, этот вопрос следует задать в Reddit или в группе Google.
Я бы посоветовал вам не переусердствовать с «подмодулями» и абстракциями, если от этого нет реальной выгоды, особенно на высоком уровне. Вы всегда можете сделать это позже.
Убедитесь, что ваши методы не слишком длинные. Например, вы можете разделить ваш метод build
на buildAppBar
, buildBody
, buildFab
. Имена методов добавят много ясности вашему коду.
В целом последовательное наименование очень важно.
Не бойтесь помещать несколько связанных классов и методов в один файл дротика (для сравнения посмотрите исходный код Flutter).
На более высоком уровне имеет смысл отделить бизнес-логику вашего приложения от слоя виджетов. Например, избегайте смешивания кода анимации с кодом, который вызывает внутренний API.
Если имеется много сложной бизнес-логики или сложного уровня данных, вы можете ввести слой службы / данных, состоящий из простых классов (например, AccountService
, WeatherDataRepository
). Эти услуги будут предоставляться через InheritedWidget
с и будут действовать в течение всего времени жизни приложения.