项目组织
Flutter 项目组织的最佳实践。
目录结构
按功能模块组织
lib/features/
├── auth/
├── user/
├── product/
└── order/共享资源
lib/shared/
├── widgets/
├── utils/
└── models/模块划分
独立性
每个模块应该相对独立,减少模块间依赖。
职责单一
每个模块只负责一个业务领域。
代码分层
Lite 模板
lib/
├── pages/ # UI 层
├── viewmodels/ # 逻辑层
├── services/ # 服务层
└── models/ # 数据层Modular 模板
lib/features/user/
├── pages/ # UI 层
├── viewmodels/ # 逻辑层
├── services/ # 服务层
└── models/ # 数据层Clean 模板
lib/features/user/
├── presentation/ # 表现层
├── domain/ # 领域层
└── data/ # 数据层依赖管理
pubspec.yaml
按类别组织依赖:
yaml
dependencies:
# 状态管理
provider: ^6.0.0
# 网络请求
http: ^1.1.0
# 本地存储
shared_preferences: ^2.2.0资源管理
assets/
assets/
├── images/
├── icons/
└── fonts/