MVP(Model-View-Presenter)は、アーキテクチャパターンの1つで、アプリケーションの設計において、データ(Model)と表示(View)を分離することを目的としています。
これにより、データと表示を分離することで、複雑なコードをスッキリさせることができ、保守性や拡張性が向上します。
MVPモデルには、以下の3つのパーツがあります。
■Model
- データに関する処理を行う部分で、ビジネスロジックやデータベースなどから取得したデータを扱います。
■View
- ユーザーに対して表示をする部分で、UI(ユーザインターフェイス)を担当します。 Viewは、ユーザーの操作に対してPresenterに通知します。
■Presenter
- ModelとViewの間に挟まれ、Modelから取得したデータをViewに反映する役割を担います。 Viewからの入力に対して、Modelに対する処理を行い、結果をViewに反映します。
MVPモデルを使用することで、ViewとModelを分離することで、ビジネスロジックと表示を分けることができ、複雑なコードをスッキリさせることができ、保守性や拡張性が向上します。 また、MVPモデルは、Androidアプリケーション開発においても使用されることが多いアーキテクチャパターンの1つです。
MVPはModel-View-Presenterの略で、MVC(Model-View-Controller)に似ていますが、PresenterがViewに対しての状態の管理を行っているため、ViewとModelが耐性が高い。 状態の管理はPresenterが行うことにより、ViewはViewに関する処理だけを行うことができ、Viewの拡張性や保守性が向上する。