👻

[デザインパターン]MVPについて

2023/08/16に公開

概要

今回はデザインパターンである「MVP」パターンのコーディング練習をしました。
MVPパターンとは「Model」、「View」、「Presenter」という役割を分けて機能を実装するデザインパターンになります。

役割は下記になります。

  • 「View」…表示関連の処理の管理をする
  • 「Model」…データ関連の処理の管理をする。ビジネスロジックもこちらで管理。
  • 「Presenter」…「View」と「Model」を紐づける。

アジェンダ

  1. このコードの出来る事
  2. 個人的なポイント
  3. チートシート(サンプルコード)

①このコードの出来る事

  • クラスの役割が明確に分けることが出来る
  • 改修した場合の影響範囲を軽減できる

②個人的なポイント

  • MVPの他にMVC、MVVMと似たようなデザインパターンがあるので注意
  • ModelクラスもViewクラスもお互いを直接は知らないので疎結合になっている
  • Modelクラスのコード量が多くなってきた場合にデータのみを扱うデータクラスを作り持たせるのもあり

④ユーザー操作から表示情報の更新までの処理のイメージ

  1. ユーザーの画面操作
  2. Viewの実行 → Presenterに通知
  3. Presenter から Modelを更新
  4. Model から Presenter に変更の通知
  5. Presenter から View に値の変更

⑤チートシート(サンプルコード)

Discussion