|
NAMEDBIx::Skinny::Manual::JA - DBIx::Skinnyの設計思想などDESCRIPTIONDBIx::Skinnyをなぜ作る事にしたのか、 また作るにあたっての設計思想など。Please translate and read the person in the sphere in English. なぜDBIx::Skinnyを書いたのかPerlのORマッパーは色々ありますClass::DBI, DBIx::Class, Data::ObjectDriber, Data::Model, etc... ここにあげたORマッパーは基本的には利用者が設定したtable構成を基にSQLを組み立ててdatabaseにクエリを投げます。 そしてその結果を各種オブジェクトにしています。 私はいままでClass::DBIやDBIx::Classを色々使ってきました。 特にDBIx::ClassはとてもパワフルなORマッパーだと思います。 DBICはパワフルが由縁にとてもヘビーなORマッパーです。 とても複雑なSQLをPerlのデータ構造を基に組み立てる事ができるようにできていますが、 複雑なSQLを組み立てる場合、複雑なPerlのデータ構造を必要とします。 もちろん、dbhを普通に触ることもできるので、任意のSQLを実行させる事もできます。 ただ、任意のSQLを実行した場合、その結果はDBIを直接さわっているのとなんら変わりがありませんでした。 inflateもしてくれない、utf8周りの処理もしてくれない。 してくれないものだから、自前でその部分の処理を行う必要があります。 それではORマッパーの存在意義が薄くなってしまうと感じました。 せっかくDBICに色々なコンポーネントを追加しても任意のSQLを実行する場合その恩恵にあずかることができないのです。 また、DBICには色々な機能があるため、処理速度も重い方だと私はおもいます。 HotSpotな部分でパフォーマンスが求められる部分にはDBICを使わずにDBIを直接使う事もしばしばありました。 Skinnyの大きな目的としては 1:生のSQLを発行した時にinflateとかutf8-flagを処理してくれる 2:update,insert,deleteはDBICというかよくあるORマッパーみたいにできる 3:簡単なselectもよくあるORマッパーみたいにできる 4:小さなオブジェクト群で構成されており、デバッグが行いやすい です。 貧弱だったりバギーだったりするかもしれませんがどうぞよろしく:) feedbackDBIx::Skinnyのfeedbackをしたいと思う人は #perl-casual@irc.freenode.netもしくは#dbix-skinny@irc.perl.orgまたはメールでお願いします。
Visit the GSP FreeBSD Man Page Interface. |