👻
[デザインパターン]MVPについて
概要
今回はデザインパターンである「MVP」パターンのコーディング練習をしました。
MVPパターンとは「Model」、「View」、「Presenter」という役割を分けて機能を実装するデザインパターンになります。
役割は下記になります。
- 「View」…表示関連の処理の管理をする
- 「Model」…データ関連の処理の管理をする。ビジネスロジックもこちらで管理。
- 「Presenter」…「View」と「Model」を紐づける。
アジェンダ
- このコードの出来る事
- 個人的なポイント
- チートシート(サンプルコード)
①このコードの出来る事
- クラスの役割が明確に分けることが出来る
- 改修した場合の影響範囲を軽減できる
②個人的なポイント
- MVPの他にMVC、MVVMと似たようなデザインパターンがあるので注意
- ModelクラスもViewクラスもお互いを直接は知らないので疎結合になっている
- Modelクラスのコード量が多くなってきた場合にデータのみを扱うデータクラスを作り持たせるのもあり
④ユーザー操作から表示情報の更新までの処理のイメージ
- ユーザーの画面操作
- Viewの実行 → Presenterに通知
- Presenter から Modelを更新
- Model から Presenter に変更の通知
- Presenter から View に値の変更
Discussion