🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
MVP

MVP(Minimum Viable Product)とは、「必要最低限の機能を兼ね備えた製品」を指します。企画書などを完成させる前に、とりあえず製品を形にする方法です。プロトタイプなどで一旦アウトプットさせることにより、無駄なコストや時間を削減できます。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

Q&A

解決済

1回答

1118閲覧

Flutter - MVPモデル開発でCompornentとViewに分ける意味が分からない

ludolf

総合スコア39

MVP

MVP(Minimum Viable Product)とは、「必要最低限の機能を兼ね備えた製品」を指します。企画書などを完成させる前に、とりあえず製品を形にする方法です。プロトタイプなどで一旦アウトプットさせることにより、無駄なコストや時間を削減できます。

Flutter

Flutterは、iOSとAndroidのアプリを同じコードで開発するためのフレームワークです。オープンソースで開発言語はDart。双方のプラットフォームにおける高度な実行パフォーマンスと開発効率を提供することを目的としています。

0グッド

0クリップ

投稿2021/03/30 07:53

編集2021/04/06 01:29

いつもお世話になっております。

表題の通りですが、FlutterでMVPモデルで開発しようとしていて色んなサイトを見ていたのですが、下記サイトが良いなと思いました。(多分公式です)
https://medium.com/codechai/flutter-architecture-implement-a-mvp-pattern-8ab78b75f2d4

サイトを見ていたらViewsの方をcounter_componentとcounter_viewで分けていたのですが、counter_view側が何を意図に分けているのか分かりません、、
サイトを読んでも載っていなかったので、どういう意図があって分けているのかご教授頂ければ幸いです。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ludolf

2021/04/12 08:26 編集

返事が遅くなり申し訳ございません。 はい、見ました! 全体的な動きを把握するためにすべて見ております。 以前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」がどうしてもなんで分けているのか分からないです。
satokei

2021/04/12 16:03

CounterView はインターフェースとして扱われているので、 Presenter から操作できる Contract の一部と解釈できるように思いました。 CounterPresenter もインターフェースとして扱われているので、 これと CounterView を合わせると『勉強したサイト』でいう「Contract」となりそうです。 なぜ「Contract」としてまとまっていないのかという質問であれば、分かりませんでした。
ludolf

2021/04/13 05:11

>これと CounterView を合わせると『勉強したサイト』でいう「Contract」となりそうです。 refreshCounterのみしか書いてなかったので結構勘違いしてしまいました汗 おっしゃる通り自分が載せたサイトと同じく「Contract」と同じ立ち位置ですね、 ですがとてもスッキリしました! しょうもない質問ですみませんでした!
guest

回答1

0

自己解決

satokei様から
「CounterView はインターフェースとして扱われているので、
Presenter から操作できる Contract の一部と解釈できるように思いました。」
まさに仰る通りです。
変に考えて悩んでしまいました、、

投稿2021/04/13 05:15

ludolf

総合スコア39

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問