DAO(Data Access Object)
-
DAOとは?
データにアクセスするためのオブジェクト。DatabaseにセーブされたデータをCRUDするために作られ、使われる。DBテーブルごとに1つのDAOを作成する。 -
分離
Controllerが直接DBにアクセスすることもできるが、複数のコントローラがDBに直接アクセスすると重複メソッド作業が何回も行われる可能性が100%に近い。ここで重複メソッドを分離して別途のオブジェクトにしたのがDAOだ。
(1) 階層の分離:DAOは永続階層(Persistance Layer)と言われ、DBに接近する役割をする。それに反してコントローラは表現階層(Presentation Layer)と言われ、データを表示する役割をする。
(2)関心の分離:コードの分離と同時に役割を分離して関心の分離になるとも言える。こう分けられたことで、作業効率が高まり、メインテナンスも容易になる。