Struts
前回,アプリケーションロジックを2つに分けて考えたが,さらに細かく分けると以下のようになる。
- 表示に関わる部分(プレゼンテーションロジック)
- 制御に関わる部分(コントロールロジック)
- 業務に関わる部分(ビジネスロジック)
それぞれを簡単に説明する。
- 表示に関わる部分(プレゼンテーションロジック)
- アプリケーションの画面表示に関わるロジック。アプリケーションの種別・形態に依存する。WindowsクライアントアプリケーションであればダイアログボックスなどのGUI,WebアプリケーションならHTMLを生成するロジックがこれに相当する。
- 制御に関わる部分(コントロールロジック)
- アプリケーションに対するユーザからのアクションを受け,それに対応したビジネスロジックに処理を依頼する。そして,処理結果に応じて画面表示を更新する。アプリケーションの種別・形態に依存する。
- 業務に関わる部分(ビジネスロジック)
- コントロールロジックからの依頼により,システム化対象の業務固有の処理を実行する。アプリケーションの種別・形態には依存せず,システム化対象の業務に依存する。
上記の説明を図で表すと,以下のようになる。
図4:アプリケーションロジックを3つに分離
どのような種別・形態のアプリケーションでも,上記の3つのロジックに分けることが出来る。構造化手法での開発では,上記の3つのロジックが1つのソースコードに混在しているケースが多いが,オブジェクト指向開発ではこれらをきっちり分離できる。
上記のようにアプリケーションロジックを分離する設計モデルを「MVCモデル」という。MVCは,モデル(Model),ビュー(View),コントローラ(Controller)の頭文字を取ったもので,上記の説明の3つのロジックとの対応は,以下のようになる。
- モデル(Model) ・・・ ビジネスロジック
- ビュー(View) ・・・ プレゼンテーションロジック
- コントローラ(Controller) ・・・ コントロールロジック
Strutsフレームワークは,MVCモデルを部分的に実装したものである。
E-mail To:溝口泰成
|