DAO とは...
- Data Access Object の略
- デザインパターンの一種で、データベースへのアクセスロジックを集約したクラスのこと
- 業務ロジックとデータを取得するのを分離するために考えられたもの
- DBへのアクセスロジックがテーブルごとに集約される
- データベースへのアクセスはDAOを使用して行われる
メリット
-
メインロジックとデータベースアクセスの処理を明確に分けることで、修正や変更があった場合に、互いのクラスに影響を与えない
-
SQLが一カ所にあるため、使用しているSQLの一覧性がある
-
データベースアクセス処理の重複した記述を防ぎ、ソースコードがシンプルに!
デメリット
- どのクラスから参照されているか分からないので、同じ関数を複数クラスから使用している場合に考慮範囲が広がる(メンテナンスしづらい)