BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Fluent NHibernate

Fluent NHibernate

ブックマーク

Fluent NHibernate(リンク)はAPIであり、XML構成ファイルを使用する代わりに、プログラムでNHibernate(リンク)マッピングを作成する。その目的は、 改善された読み取り機能、テスト機能およびコンパイル時の安全性を提供することで、NHibernateをプロジェクトに組み込む際に直面する問題を最小限に食い止めることである。

プロジェクトオーナーである、James Gregory氏(リンク)はFluent NHibernate(リンク)を導入し、NHibernateのXML構成ファイルについて不安材料を以下のように提示している。

[…] われわれすべての人が、クラスをマップするために、記述しなければならないXMLの量に多少なりとも嫌気がさしていると思います。それだけではなく、マッピングが残りのアプリケーションと厳密に区別される仕組みについても、あまり好んではいないと思います。無視され、テストされないことがよくあります。プロジェクトの中心的信条の1つは、より簡潔で、読み出し可能で、テスト可能なマッピングの記述方法が必要であるということです。

その他、Fluent NHibernateは豊富なインターフェイス(リンク)を提供する。Piers Cawley氏(リンク)はうまくまとめ上げ(リンク)、「クライアントサイドの複雑さは、思慮深く、人道的なインターフェイスの裏にオブジェクト構成を移動させることで軽減される」と説明している。

Fluent NHibernateは、構成原理に対する決まりごと(リンク)を遵守することで、さらに複雑さを削減する。つまり、マッピングのすべてのパーツ向けのもっとも一般的な設定がデフォルトで選択される。

コンパイル時の確認の他に、Fluent NHibernateは、テスト向けのAPIを提供することで、マッピングの堅固さを増加させる。「またマッピングが構文的に有効かという点だけでなく、 適切に設定されているかを検証する手助けをします」とJames Gregory氏は言う。

大事なことを言い忘れていたが、Fluent NHibernateはフレームワークを特色としており、参照アーキテクチャの設定を支援し、自分好みのIoCコンテナ(リンク)とよく動作する。

われわれのフレームワークはレイヤーであり、APIの上に位置しこれまで以上のエクスペリエンスを提供します。みなさんのお気に入りのコンテナと統合する ことを検討しており、それによってシステムにNHibernateを統合するために記述するコードを少なくすることができます。それから、拡張可能な規則 に取り掛かる予定です。それにより、アプリケーションで暗黙に示された独自の規則を指定することができます。たとえば識別子をつねに「ID」と呼ぶのであ れば、なぜ毎回それを指定しなければならないのでしょうか?そうすべきではありません!

Bobby Johnson氏(リンク)は、自分の記事「Skinning the Cat with Fluent NHibernate」(リンク)で、Fluent NHibernateの段階的な使用例を詳細に説明している。

原文はこちらです:   http://www.infoq.com/news/2008/08/fluent-nhibernate

この記事に星をつける

おすすめ度
スタイル

BT