Flutter: Scoped модель и как решить, что и сколько положить в файлы - PullRequest
0 голосов
/ 03 ноября 2018

Итак, это более общий вопрос. Недавно я пытался выяснить, какую архитектуру использовать с флаттером, и в итоге я получил модель с ограниченным пространством, которая мне действительно нравится. Но я заметил, что я немного стучу в темноте, когда дело доходит до решения, какую информацию поместить в модели и в целом, сколько помещать в каждый файл .dart.

Я просто помещаю туда данные, которые будут вызывать изменения состояния или все, что не связано с графическим интерфейсом?

И для общей части надзора: в настоящее время я просто пишу модуль, который импортирую, и по мере того, как количество строк становится слишком большим для моего вкуса (надзора), я делю его на подмодули. Я чувствую, что это не самый лучший способ сохранить контроль и быть эффективным. Как вы справляетесь с этим?

1 Ответ

0 голосов
/ 04 ноября 2018

На этот вопрос нет правильного ответа, вероятно, этот вопрос следует задать в Reddit или в группе Google.

Я бы посоветовал вам не переусердствовать с «подмодулями» и абстракциями, если от этого нет реальной выгоды, особенно на высоком уровне. Вы всегда можете сделать это позже.

Убедитесь, что ваши методы не слишком длинные. Например, вы можете разделить ваш метод build на buildAppBar, buildBody, buildFab. Имена методов добавят много ясности вашему коду.

В целом последовательное наименование очень важно.

Не бойтесь помещать несколько связанных классов и методов в один файл дротика (для сравнения посмотрите исходный код Flutter).

На более высоком уровне имеет смысл отделить бизнес-логику вашего приложения от слоя виджетов. Например, избегайте смешивания кода анимации с кодом, который вызывает внутренний API.

Если имеется много сложной бизнес-логики или сложного уровня данных, вы можете ввести слой службы / данных, состоящий из простых классов (например, AccountService, WeatherDataRepository). Эти услуги будут предоставляться через InheritedWidget с и будут действовать в течение всего времени жизни приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...