いつもお世話になっております。
表題の通りですが、FlutterでMVPモデルで開発しようとしていて色んなサイトを見ていたのですが、下記サイトが良いなと思いました。(多分公式です)
https://medium.com/codechai/flutter-architecture-implement-a-mvp-pattern-8ab78b75f2d4
サイトを見ていたらViewsの方をcounter_componentとcounter_viewで分けていたのですが、counter_view側が何を意図に分けているのか分かりません、、
サイトを読んでも載っていなかったので、どういう意図があって分けているのかご教授頂ければ幸いです。
ソースはご覧になっていますか?
https://github.com/macfleid/flutter_mvp_design_tutorial
返事が遅くなり申し訳ございません。
はい、見ました!
全体的な動きを把握するためにすべて見ております。
以前Kotlin(Java)でのMVPモデルを勉強した時は理解できました。
勉強したサイト:https://qiita.com/ehuthon-kd/items/a495bc8a1e182e079bb0
このサイトを例にして話して申し訳ないですが、このサイトではViewを「Activity」と「Contract」の二つに分けています。
分けている理由が、「ActivtyではFragmentとPresenterを作成(onCreate)しているところ」と解釈していて、「ContractではViewとPresenterの間のやり取りを管理するところ」と解釈しています。
MVPをしてみて特に感動したのが、Contractを見ればViewとのやり取りがすべて一括で見れるという利点が素晴らしいと感じました。
Flutterに戻るのですが、FlutterのViewでは「View」と「Component」で分けていますが、「View」がどうしてもなんで分けているのか分からないです。
CounterView はインターフェースとして扱われているので、
Presenter から操作できる Contract の一部と解釈できるように思いました。
CounterPresenter もインターフェースとして扱われているので、
これと CounterView を合わせると『勉強したサイト』でいう「Contract」となりそうです。
なぜ「Contract」としてまとまっていないのかという質問であれば、分かりませんでした。
>これと CounterView を合わせると『勉強したサイト』でいう「Contract」となりそうです。
refreshCounterのみしか書いてなかったので結構勘違いしてしまいました汗
おっしゃる通り自分が載せたサイトと同じく「Contract」と同じ立ち位置ですね、
ですがとてもスッキリしました!
しょうもない質問ですみませんでした!
回答1件
あなたの回答
tips
プレビュー
