ひがやすを技術ブログ

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

プレゼンテーションモデルとドメインモデル

TeedaのOGNLおかしくない??(未対応が仕様?)

Teedaを使う場合、DTOを使う必要はforeachを除いてほとんどないのですが、プレゼンテーションモデルという考えになれる必要があります。
Teedaにおけるプレゼンテーションモデルとは、Pageそのものです。HTMLと一対一に対応していて、HTMLのタグとPageのプロパティも一対一に対応します。HTMLのボタンとPageのメソッドも一対一に対応します。
もう一つのモデルがドメインモデルでentityパッケージに置かれます。Railsだとmodelsディレクトリにあたります。
EntityとPageの変換は、S2Dxoが行います。
Doltengを使って、Window -> Show view -> Other... -> Dolteng - Database Viewからscaffoldを作成すると、Pageクラスと同じところにDxoインターフェースが作成されるので、使い方を学ぶことができます。使い方といっても簡単。
convert(Entity entity, XxxPage page)のようなメソッドを定義しておくと、自動的にEntityとPageに同じプロパティがあれば、コピーします。
Railsではドメインモデルにロジックを記述しますが、TeedaではPageにロジックを記述します。詳しくは、http://d.hatena.ne.jp/higayasuo/20070621#1182389525をご覧ください。
HTMLにidをつけ、エディタで表示されている状態で、CTL + 5を押すと、Pageを自動生成します。また、自動生成後にCTL + 5を押すと、PageとHTMLを交互に行き来することができます。
それでは、快適なTeedaライフをおすごしください。