DAOって何?
プログラミングにおけるDAO。
現場で聞いたり、ソースコードに『~DAO』なんてワードを見かけたりすると思います。
今回は、概要とそのメリット。
また、実際の現場でどのようにこの用語を運用しているかも書いてみました。
DAOは世界共通で使える用語なのでどんなものかだけは把握しておくと良いと思います。
DAOとは?
できるだけ、専門用語をできるだけ少なめにして説明すると。
DAOはData Access Objectの略で、
データベースにアクセスする際にデータベースの詳細な手続を意識しなくても良いようにつくられた「部品そのもの」または「設計する際のお決まりのパターン」
のことを指します。
詳細に説明していきます。
DAOはプログラミングとデータベースの要
本格的なプログラムを作る際には必ずといってもいいほど
データベースの存在が必要になってきます。
ただ、データベース接続する際は
プログラムに『接続する際の手続』をコーディングする必要があります。
また
『データベースを他のデータベースに切り替えたい!』
と言った場合も発生したります。
そういった場合、
データベースにアクセスするコードを書く際に毎回、
データベースに接続する手続きを書いたりするとコードも見づらくなります。
また
データベースを切り替えるなどはその手付きの箇所を
すべて変更しなければなりません。
データベースの手続きを吸収してくれるのがDAO
それらの不都合を解消してくれるのがDAOになります。
DAOで面倒なデータベースの
手続きをまとめて記載することにより、
データベースを切り替えたい!といった場合などは
DAOだけを修正すれば事足りるようになるわけです。
DAOはデザインパターンの1つ
少し話がそれますが、このDAOという概念はプログラマーの中では
『お決まりの設計パターン』
なのですが、こういったパターンのことを
デザインパターン
と呼びます。
ちなみにデザインパターンはDAOだけはなく、
- J2EEのデザインパターン
- GoFのデザインパターン
などがあります。
ちなみにDAOはJ2EEのデザインパターンに含まれます。
現場での使われ方
ちなみに現場でどのように使われているのかというと、
もし、DAOパターンで設計されている現場だった場合は
現場で決まっているDAOの呼び出し方さえ教えてもらえれば
データベースの手続きを意識しなくてもいいんだなという事が一瞬で理解できるわけです。
DAOパターンって概念を知っておくだけで現場でも助かることはあると思います。
もっと極端なことを言えば
DAOパターンを使用している場合は、
ソースコードにも『DAO』と言う名前がつくのが一般的なので、
「~DAO」というコードを見た瞬間に
技術者たちは言葉を交わさなくても
DAOパターンを実装していることが理解できるわけです。
コミュニケーションロスを防げるのが最大のメリットだとは思っています。