目的
- 前回MVCモデルについてにて、業務で使っているPythonの構成を当てはめた。
- ウェブアプリケーションでどのような機能が必要かを記載したい
構成
- 今回はMVCモデルで考える。JAVA EE(今はJakarta EE)を例にする。
- MVC毎に必要な機能をまとめてみた。実際はもっと副機能があるんだけど。
- こうみるとモデルが肥大化する印象ですね。だからビジネスロジックのサービスを別に切り出したMVCSがあるんでしょうね。
- 依存性注入(DI)は共通的なので、MVCには入らないですね。
MVCモデル機能一覧
分類 | 機能 | 説明 |
---|---|---|
コントローラ | ルート機能 | URLとクラスを紐づける機能。 |
デシリアライズ・シリアライズ機能 | JSONやXMLなどの要求時のフォーマットをクラスに変換する機能(シリアライズ機能)。逆も必要(デシリアライズ機能) | |
ビューとモデルの仲介機能 | ビューとモデルの仲立ちを行う機能。 | |
モデル | バリデーション機能 | データの検証を行う機能。 |
データ保持機能 | データの保持を行う機能。JavaではPOJO。 | |
ビジネスロジック機能 | 業務ロジックの処理を行う機能。 | |
データアクセス機能 | データベースや設定ファイルにアクセスする機能。 | |
ビュー | 画面の表示 | HTMLやJSPを表示する機能。 |
ライブラリの対応
分類 | 機能 | Javaライブラリ |
---|---|---|
コントローラ | ルート機能 | Struts, Spring, RESTEasy |
デシリアライズ機能 | Jackson | |
ビューとモデルの仲介機能 | ルート機能 | |
モデル | バリデーション機能 | Javax, Hibernate |
データ保持機能 | POJO | |
ビジネスロジック機能 | - | |
データアクセス機能 | JPA, Properties | |
ビュー | 画面の表示 | JSP, JF |