タイトルイメージ 本文へジャンプ
 

Struts


3.MVC

 前回,アプリケーションロジックを2つに分けて考えたが,さらに細かく分けると以下のようになる。

  • 表示に関わる部分(プレゼンテーションロジック)
  • 制御に関わる部分(コントロールロジック)
  • 業務に関わる部分(ビジネスロジック)

 それぞれを簡単に説明する。

表示に関わる部分(プレゼンテーションロジック)
アプリケーションの画面表示に関わるロジック。アプリケーションの種別・形態に依存する。WindowsクライアントアプリケーションであればダイアログボックスなどのGUI,WebアプリケーションならHTMLを生成するロジックがこれに相当する。

制御に関わる部分(コントロールロジック)
アプリケーションに対するユーザからのアクションを受け,それに対応したビジネスロジックに処理を依頼する。そして,処理結果に応じて画面表示を更新する。アプリケーションの種別・形態に依存する。

業務に関わる部分(ビジネスロジック)
コントロールロジックからの依頼により,システム化対象の業務固有の処理を実行する。アプリケーションの種別・形態には依存せず,システム化対象の業務に依存する。

 上記の説明を図で表すと,以下のようになる。



図4:アプリケーションロジックを3つに分離

 どのような種別・形態のアプリケーションでも,上記の3つのロジックに分けることが出来る。構造化手法での開発では,上記の3つのロジックが1つのソースコードに混在しているケースが多いが,オブジェクト指向開発ではこれらをきっちり分離できる。

 上記のようにアプリケーションロジックを分離する設計モデルを「MVCモデル」という。MVCは,モデル(Model),ビュー(View),コントローラ(Controller)の頭文字を取ったもので,上記の説明の3つのロジックとの対応は,以下のようになる。

  • モデル(Model) ・・・ ビジネスロジック
  • ビュー(View) ・・・ プレゼンテーションロジック
  • コントローラ(Controller) ・・・ コントロールロジック

 Strutsフレームワークは,MVCモデル部分的に実装したものである。


E-mail To:溝口泰成