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"
やりたいことに徐々に近づき中・・・