ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ダイコン時代の設計手法 - UI層のコントローラ

UI層のコントローラは、コントローラのコントローラ
(StrutsのActionServletなど)とユースケース固有のコントローラ
(StrutsのActionなど)があると思います。
ここで取り上げるのは、ユースケース固有のコントローラです。


コントローラの役割は以下のようなものがあると考えています。

  1. UI層のモデルとエンティティの相互変換を行う。
  2. サービス層のロジックを起動する。
  3. UI層固有のロジックを実行する。
    • ファイルのアップロード・ダウンロードなど

2でサービス層のロジックが複数に分割されている場合に
プレゼンテーション層でロジックの制御を行ってはいけません。
イベント(Submitやリンクのクリック)が起きたとき、
UI層はサービス層の1つのメソッドを呼び出すだけにします。
UI層から呼び出されたサービス層のメソッドが
ロジックの制御を行います。
ロジックの制御はユースケースに起因するものだからです。