Closed8

toku5552さんのTODOアプリを読んで、flutterの書き方を感じる

ken1flanken1flan

lib

プログラムを見ようと思ったわけだけど…
根っこからディレクトリで分けるときに、どこにエントリーポイントがあるんだろう…?
(あとに書く)

ディレクトリ構造

  • common
  • domain
  • infrastracture
  • presentation

presentation

表示に関する部分がまとまってる模様。
〜_pageと〜_modelが集まっている。

domain

ドメイン知識っぽい。
TODOアイテムとか、リポジトリとか。

infrastracture

インフラとの接続コードが書かれてる。

common

SQLiteの接続情報が載っているっぽい。

依存関係

最上位がpresentationで、infrastractureを使ってる。
infrastractureはdomainとcommonを使ってる。

ken1flanken1flan

エントリーポイント

main.dart見つけた。lib/presentationにあった。
main.dartという名前ならどこにあってもいいのか?それともlib以下をすべてコンパイルするわけだから、void main()がどこかに置いてあればいいのか…。後者かな。ひとのプログラムを読むには、まずこれを探そう。

ken1flanken1flan

TodoListPage

https://github.com/tokku5552/TODOAppSample-Flutter/blob/main/lib/presentation/todo_list/todo_list_page.dart

これもそうだ。ひとつのクラス、2つのメソッドのみ。
クラスはステートレス。たしかに、状態はなさそうだね。

フローティングボタン

https://github.com/tokku5552/TODOAppSample-Flutter/blob/main/lib/presentation/todo_list/todo_list_page.dart#L112-L120

pushWithReloadで画面遷移。

pushWithReload

https://github.com/tokku5552/TODOAppSample-Flutter/blob/main/lib/presentation/todo_list/todo_list_page.dart#L125-L138

Navigator.push で詳細ページを追加してる。
戻るで対応できるようにかな…?

このスクラップは2021/08/01にクローズされました