12月 6th, 2009at 22:42
Tags: Java
DAOとかDTOとかVOとかEntityとか
Strutsを使っていたときにこのへんすごく迷った。SAStrutsでもでてきたのであらためて調べ直しておさらいしてみる。
*
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などもありますがこれはまた今度でも。




