🙆
MVVM+Repositoryのレイヤーファーストかフィーチャーファースト
こんにちは。タオルです。
MVVM+Repositoryのレイヤーファーストパターン
/lib
/models
- user.dart
- post.dart
/views
- home_page.dart
- detail_page.dart
/viewmodels
- home_viewmodel.dart
- detail_viewmodel.dart
/repositories
- user_repository.dart
- post_repository.dart
/services
- api_service.dart
- database_service.dart
/widgets
- custom_button.dart
- custom_card.dart
MVVM+Repositoryのフィーチャーファーストパターン
/lib
/features
/login
/models
- login_model.dart
/viewmodels
- login_viewmodel.dart
/views
- login_page.dart
/repositories
- login_repository.dart
/profile
/models
- profile_model.dart
/viewmodels
- profile_viewmodel.dart
/views
- profile_page.dart
/repositories
- profile_repository.dart
/services
- api_service.dart
- database_service.dart
/widgets
- custom_button.dart
- custom_textfield.dart
おまけ①
ドメイン駆動設計(DDD)ベースのアプローチ
/lib
/domain
/entities
- user.dart
- post.dart
/repositories
- user_repository.dart
- post_repository.dart
/services
- authentication_service.dart
/application
/viewmodels
- home_viewmodel.dart
- detail_viewmodel.dart
/infrastructure
/data_sources
- api_service.dart
- database_service.dart
/presentation
/views
- home_page.dart
- detail_page.dart
/widgets
- custom_button.dart
- custom_card.dart
おまけ②
クリーンアーキテクチャベースのアプローチ
/lib
/core
/errors
/use_cases
/entities
/features
/feature1
/data
/models
/datasources
/repositories
/domain
/entities
/repositories
/usecases
/presentation
/viewmodels
/pages
/widgets
/feature2
...(feature1と同様の構造)
/common
/widgets
/services
おまけ③
マイクロフロントエンドアーキテクチャベースのアプローチ
/lib
/core
/base
/services
/modules
/module1
/data
/repositories
/domain
/usecases
/presentation
/viewmodels
/screens
/widgets
/module2
...(module1と同様の構造)
/shared
/widgets
/utils
Discussion