特集
» 2019年05月24日 08時00分 公開

テストに強いソフトウェアアーキテクチャはこれだ!:5分で分かる「MVP」アーキテクチャ基礎解説

1980年代初頭に登場したアーキテクチャ「MVC」。MVCには各モジュール間の依存が強く、変更に対する柔軟性が低いという問題点があった。そこで登場したのが「MVP」。MVPはMVCよりも何がイイのか。

[石黒 邦宏,デジタルハーツ]

 前回「開発者を悩ます『ソフトウェアアーキテクチャ選定』迷った時に使える3つの判断基準」では、MVCアーキテクチャについて説明しました。MVCは「ソースコードの再利用性」という課題を解決したアーキテクチャであり、多くの開発の現場でも活用されています。しかし、MVCアーキテクチャよりもさらに柔軟性を持ったアーキテクチャが生まれました。それがModel、View、Presenterのモジュールから成る「MVP」です。今回は「MVP」の特長とテスタビリティーについて解説します。

著者紹介:石黒 邦宏

デジタル・マジック・ラボでインターネット経路制御運用に関わり、オープンソースウェアで経路制御を実現する「GNU Zebra」を開発。1999年IP Infusionを共同設立し、CTOに就任。2009年Access CTO、2015年アプリックス CTOを経て、2018年デジタルハーツホールディングスCTOに就任。

「MVP」アーキテクチャとは?

 インターネットが普及したことで、ソフトウェアベンダーは簡単にアップデートプログラムを提供できるようになり、その一方で開発側はソースコードを頻繁に修正、変更する必要性が出てきました。そこで「ソースコードの変更耐性」という新たな課題が生まれました。これを解決するアーキテクチャとして生まれたのが「MVP」(Model/View/Presenter)です。「MVP」は異なる複数のViewを同時にサポートするために生み出されたもので、Viewとの独立性が非常に高いアーキテクチャです。

MVCとMVPアーキテクチャの構成の違い MVCとMVPアーキテクチャの構成の違い

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

ホワイトペーパーや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。