WebWorkのModelDriven

Mapleにいれたいなーと思っていたWebWorkのModelDriven。軽く説明すると以下のようなもの。

  • 通常はActionの属性に直接リクエストパラメーターをInjection
  • ModelDrivenはActionの属性にオブジェクトを持ち、そのオブジェクトの属性にInjection

Actionの属性にInjectionするという方法はもちろん残す(単純なパターンあるだろうから)が、プレゼンテーション層とビジネスロジック層を切り分けるとするとDTOをつかって層と層との間をやり取りすることになると思うので、一旦Actionが受け取ったものをDTOに移し変えるというのは面倒だろうと。(最終的にはRequestクラスのメソッドで実現することになると思うので、自分でそれを明示的に呼ぶというのもありなんだろうけど、いつも使いそうなものは設定ファイルでできるというのがMapleのポリシーなので)

今考えているのはこんな感じです。ひとつ前の記事の延長なんだが、Actionに対してオブジェクトをInjectionした後、そのオブジェクトにRequestの必要な属性をInjectionするというもの。以下の例だと、exampleDTOにnameとemailをInjectionするというものになる。

[DIContainer]
dicon.ini

[Action]
exampleDTO = "ref:exampleDTO"
exampleDAO = "ref:exampleDAO"

[Request]
exampleDTO = "name,email"

やりたいことに徐々に近づき中・・・