MVP (Model-View-Presenter)
ViewとModelの間にPresenterを置き、UIロジックをすべて担わせ、インターフェース経由でViewを更新するUIアーキテクチャパターン。
起源は1996年のTaligent(IBM)。MVCとの違いは、Viewが「受け身」でモデルを知らず、制御をPresenterが握る点である。そのためUIフレームワークなしでもPresenterを単体テストしやすい。
ViewModelやJetpack Compose(2018年以降)が現れるまでは、Android開発の主流だった。WinFormsやJava Swingなど一部のデスクトップ向けスタックでは今も生きている。競合はMVC、MVVM(データバインディング付き)、Flux/Reduxなど。