読者です 読者をやめる 読者になる 読者になる

DataAccessMethodパターン

dev

DAOパターンのデメリットを補う「DataAccessMethodパターン」(CodeZine)
DAOパターンではビジネスオブジェクトからデータアクセス部分を分離してクラスとして切り出すわけですが、クラス数が多くなりすぎることがデメリットといえます。
ここで提唱されているDataAccessMethodパターンは、要はデータアクセス部分を抽象メソッドとするだけなのですが、データアクセス部分の差し替えなど実用上はDAOとほぼ同じメリットが享受できますよ〜、というお話。確かにシンプルで手間のかからない、良い案だと思います。
ただ、問題は「データアクセス部分のコンポーネント化が明示的に行われない」⇒「再利用を阻害するリスクがある」ということでしょうか。ビジネスオブジェクトが抽象クラスになってしまうのも気になるところです。
なお、記事中には”DAOを採用するとファクトリなども作らなきゃならないので結果的にクラス数がものすごく増えます”というような記述がありますが、最近はSpringなどのDIコンテナと組み合わせて使うことが多いはずなので、これはあまり意味のある指摘とは思えません。