ActionFormとDTO

ActionFormとDTOのコードについてです。

ActionFormはstrutsが由来なので、画面仕様寄りのプロパティの型(例えば日付がString型だったり)になると思います。

それに対してDTOはDB寄りの仕様になるので日付はDate型、LongならDBはNumberなどとDB寄りになるのが自然です。

で、ActionFormからDTOへ移送するのがActionクラスに書かれていたりしますが、リファクタリングしていくとActionFormクラスに書くべきです。(依存度が高いので)

ActionFormに書くと、以下みたいなコードになると思います。

ちなみにDTOのプロパティ(特に数値型)はプリミティブ型は使うべきではありません。

BigDecimalを使うべきです。

これはJava仕様上、プリミティブ型は0で初期化されるからです。

以下、DTOの例です。

ageをint型で定義しています。

これをsetterを使わずにいきなりgetするとnullではなく0が返ってきます。プリミティブ型にnullは指定できません。

結果は意図しない0となります。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存
スポンサーリンク

コメントをどうぞ

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

CAPTCHA