susatthi / github-search

GitHub API を利用して GitHub のリポジトリを検索するアプリです。株式会社ゆめみのFlutterエンジニアコードチェックの要件を満たすよう実装しています。
MIT License
204 stars 7 forks source link

アーキテクチャ・ディレクトリ構成のアップデート #145

Closed susatthi closed 2 years ago

susatthi commented 2 years ago

PXL_20220525_011736302

/config アプリ、ルーティング、テーマ、環境変数など
  - app.dart
  - router.dart
  - theme.dart

/presentation プレゼンテーション層、関心事毎にサブフォルダで分ける
  /common
    - error_page.dart
    /components
      - custom_button.dart
  /user
    - index_page.dart
    - view_page.dart
    - edit_page.dart
    /components
      - name_text.dart
      - name_text_state.dart
      - name_text_notifier.dart

/application アプリケーション層、関心事毎にサブフォルダで分ける
  /common
    - common_service.dart
  /app
    - app_service.dart
  /user
    - user_service.dart

/domain ドメイン層、関心事毎にサブフォルダで分ける
  /app
    /repositories
      - app_repository.dart
  /user
    /entities
      - user.dart
    /repositories
      - user_repository.dart

/infrastructure インフラストラクチャ層、DataSource毎にサブフォルダで分ける
  /hive
    - app_repository.dart
  /firestore
    - user_repository.dart
    /documents
      - user.dart

DDD を参考に下記の観点でリファクタリング

susatthi commented 2 years ago

参考サイト

CleanArchitectureについて自分なりに整理して実装してみた

CleanShot 2022-05-25 at 08 43 34@2x

DDDを意識した際のpackage構成

CleanShot 2022-05-25 at 08 42 23@2x

https://github.com/android/architecture-samples/tree/todo-mvp-clean

CleanShot 2022-05-25 at 08 45 35@2x

https://twitter.com/_mono/status/1502080133288833024

CleanShot 2022-05-25 at 08 46 05@2x

【Flutter】悩ましいフォルダ構成について語り合おう

susatthi commented 2 years ago

ドメイン駆動設計・開発の実践

2009年の記事だけど、めちゃくちゃ詳しく、わかりやすい。

susatthi commented 2 years ago

DDDの勉強になる。

https://qiita.com/kichion/items/aca19765cb16e7e65946

特に以下の部分。

CleanShot 2022-05-26 at 17 15 37@2x