未分類

MVCモデルについて2

目的

  • 前回MVCモデルについてにて、業務で使っているPythonの構成を当てはめた。
  • ウェブアプリケーションでどのような機能が必要かを記載したい

構成

  • 今回はMVCモデルで考える。JAVA EE(今はJakarta EE)を例にする。
  • MVC毎に必要な機能をまとめてみた。実際はもっと副機能があるんだけど。
  • こうみるとモデルが肥大化する印象ですね。だからビジネスロジックのサービスを別に切り出したMVCSがあるんでしょうね。
  • 依存性注入(DI)は共通的なので、MVCには入らないですね。

PlantUML Syntax:<br />
package “コントローラ” as f_c {<br />
	package “ルート機能” as root {</p>
<p>	}<br />
	package “デシリアライズ・シリアライズ機能” as d {<br />
	}<br />
	package “ビューとモデルの仲介機能” as vm {<br />
	}<br />
}<br />
package “モデル” as f_m {<br />
	package “バリデーション機能” {<br />
	}<br />
	package “データ保持機能” {<br />
	}<br />
	package “ビジネスロジック機能” {<br />
	}<br />
	package “データアクセス機能” {</p>
<p>	}<br />
}<br />
package “ビュー” as f_v {<br />
	package “画面の表示” {</p>
<p>	}<br />
}<br />
f_c -[hidden]down- f_m<br />
f_m -[hidden]down- f_v<br />


MVCモデル機能一覧

分類機能説明
コントローラルート機能URLとクラスを紐づける機能。
デシリアライズ・シリアライズ機能JSONやXMLなどの要求時のフォーマットをクラスに変換する機能(シリアライズ機能)。逆も必要(デシリアライズ機能)
ビューとモデルの仲介機能ビューとモデルの仲立ちを行う機能。
モデルバリデーション機能データの検証を行う機能。
データ保持機能データの保持を行う機能。JavaではPOJO。
ビジネスロジック機能業務ロジックの処理を行う機能。
データアクセス機能データベースや設定ファイルにアクセスする機能。
ビュー画面の表示HTMLやJSPを表示する機能。

ライブラリの対応

分類機能Javaライブラリ
コントローラルート機能Struts, Spring, RESTEasy
デシリアライズ機能Jackson
ビューとモデルの仲介機能ルート機能
モデルバリデーション機能Javax, Hibernate
データ保持機能POJO
ビジネスロジック機能-
データアクセス機能JPA, Properties
ビュー画面の表示JSP, JF

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA