2009-06-16 16 views
2

リレーショナルデータベースとのインターフェイスの設計パターンを知っている人はいますか?たとえば、SQLインラインでメソッドをインライン化するか、データを渡してSQL文を作成するSQLオブジェクトをインスタンス化する方が良いでしょうか?接続文字列を返す静的メソッドがあり、各メソッドはその文字列を取得してDBに接続し、そのアクションを実行し、必要に応じて接続を切断するか、接続、実行、切断などを担当する他の構造を持っていますか? ?リレーショナルデータベースとのインターフェイスのためのデザインパターン?

つまり、データベースがすでに存在すると仮定すると、OOアプリケーションがそのデータベースとやりとりするための最良の方法は何ですか?

ありがとうございました。

答えて

0

DALのグーグルで特定するものはすべて、デザインパターンについて説明しています。森の真ん中に立って木を見たいと思うようです。数千ではないにしても何千ものある。

ここからは、リソースを探すために始めてa book I'm readingの引用があります。

...パーシスタンスレイヤーを構築するためのパターンとベストプラクティスについて話すことなく、ORMについて議論することは不可能です。さらに、マーティン・ファウラー、エリック・エバンス、ジミー・ニルスソン、エリック・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ヴリューシデスの4人が知られている業界の指導者を呼び出さずにORMのパターンを論じることも不可能です業界ではGang of Four(GoF)と呼ばれています。この章の目的は、これらの指導者によって作成されたパターンのいくつかを説明し、展開し、すべての開発者が理解できる言語を使用して具体的な例を提供することです。

+0

この見積もりの​​本の名前は何ですか? – Jayson

1

個人的には、ORMのないデータベースで作業するのは嫌です。 NHibernateが好ましいが、iBatisは既存のデータベースのオプションでもある(NHが既存のデータベースを扱うことはできないと言っているわけではない)。

0

一般に、OOアプリケーションがリレーショナルデータベースとのインタフェースをとる最善の方法は、ORMを使用する方法です。これはデザインパターンそのものではありませんが、特定の使用パターンを持つツールの1つで、十分に似ています。オブジェクト・リレーショナル・マッピング(ORM)ツールは、データベースとメモリー内のオブジェクトのセットとの間のマッピングを提供します。通常、これらのツールはセッション、接続、トランザクションなどの管理手段を提供します。非常にうまく動作するORMの良い例は、Hibernate(NHibernate on .NET)です。

0

が、それは(ほとんどのORMはそれをできるようになります)全くのSQL文を持っていないのがベストです、接続の詳細(接続文字列など)を知らないのが最善です。メジャーなDBベンダーとまったく同じコードを使用することができればさらに優れています。

0

POEAAは、あなた自身をロールするつもりならば、この問題に関する豊富な知識を持っています。

関連する問題