DAOとかDTOとかVOとかEntityとか

感想おまちしてます!

Strutsを使っていたときにこのへんすごく迷った。SAStrutsでもでてきたのであらためて調べ直しておさらいしてみる。

スポンサーリンク

VO vs DTO vs DAO vs Entity

VOは不変でなければならないので、MVC間でやりとりされるオブジェクトは、DTOといったほうがいいらしい(参考:OZACC.blog: VOとDTOの違い)。

WikipediaのDTOをみると「過去、VOとも呼ばれていた」とある。よって、藤原はVOをもう使わないようにします(会社で使ってるな・・・)。

DAOはSelectとかInsertとか、DBにアクセスしてくれる人のこと。結果としてEntityを返してくれたりする。
Entityはレコードを表現する。DTO(VO)っぽいけど、DAOみたいなこともしやがるらしい(参考:DAOとかVOとかDTOとか – 人生全て暇つぶし

DTOは、EntityからDTOが作られるイメージ。

Webアプリの場合は、画面に表示するのに都合のいいオブジェクトだったりして、都合よくデータを扱える形になっているのがポイント。

Strutsで開発していたときに、BeanUtilを使ってDTOにデータを移したり、逆にActionFormに移したりしたことがあるが、まさかそれだったのね。(参考:DTOとEntityの差は何ですか。 -OKWave

ActionFormはActionとBusinessLogic間をつなぐデータオブジェクトとかいうのを聞いたことがあるが、DTOつかうなり、ActionFormのままでいくなり、どういうふうにつなぐかを考えることが重要ですね。(参考:civic site ≫ Struts開発での考察

*

その他、Action、Service、Logicなどもありますがこれはまた今度でも。

コメント

  1. […] DAOとかDTOとかVOとかEntityとか […]

  2. […] DAOとかDTOとかVOとかEntityとか […]