mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 03:32:18 +00:00
1.9 KiB
1.9 KiB
Структура проекта
Проект строится на основе фич и слоев.
Общая иерархия
/assets— графические ресурсы./lib— основной код./app— глобальные настройки, интерфейсы и реализации./di— конфигурация зависимостей./routing— описание путей./features— функциональные модули приложения./gen— сгенерированный код.
Структура Feature-папки
Каждая фича делится на три слоя:
- Data (Поставщик данных):
/dto— модели данных для API./repository— реализация интерфейсов репозиториев.
- Domain (Бизнес-логика):
/entity— чистые модели для использования в UI./repository— интерфейсы репозиториев./state— управление состоянием (BLoC)./service— реализации бизнес-сервисов.
- Presentation (Представление):
/screens— виджеты экранов (*Screen)./components— переиспользуемые компоненты внутри фичи.
Правила взаимодействия
- Data → доступ к Entity (для маппинга), не знает про UI.
- Domain → не знает про Data (работает через интерфейсы) и Presentation.
- Presentation → работает через Domain, не знает про Data.
- Объекты внутри фичи инкапсулированы. Глобальные объекты выносятся в
/app.