「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。

様々な業務でシステム開発をしているとDTOやVOというクラスが出てきて違いが曖昧になってくる事があるので両者の違いについて整理しておきます。

DTO(Data Transfer Object)

  • 基本的には値をまとめて受け渡す事のみを目的とするクラス。
  • DTO(Data Transfer Object)はデザインパターンの一つ。
  • 過去、J2EEではVO(Value Objects)と呼ばれていた。
  • VOとは違い、値は変更可能なのでsetterメソッドを持つ。

VO(Value Objects)

  • VO(Value Objects)もデザインパターンの一つ。
  • インスタンスコンストラクタでプロパティを初期化してプロパティの変更(set)は外から出来ないようにするクラス。
  • VOは不変である事が前提のため、MVC間で使用する場合にはDTOを用いた方が相性が良い。
  • VOクラス例

Ads by Google

コメントを残す

メールアドレスが公開されることはありません。