ORマッピングに最適解はない
下記のORマッピングの議論を読んで改めて、ORマッピングがシステム開発のボトルネックであり、ORマッピングにBestな解はないことを確認した。
#かのファウラー氏も悩んでいる(「ドメインロジックとSQL」)のだから、当然かも。
●ドメインロジックとSQL
●ポストRDB(前編)
●ポストRDB(後編)
●データベース系アプリケーションで、データや処理をどこまでクラス化する?
●Entity Bean批判
ORマッピングの実装方法は、下記の3パターンに分類できると思う。しかし、どれも致命的弱点があるように見受けられる。
【1】JDBCを使う
【2】EJBを使う
【3】ORマッピング用フレームワーク(Torque、Hibernate等)を使う
それぞれの弱点は下記のように感じる。
【1】ソースにSQL文を埋め込んでしまうため、うまくレイヤー化しないとスパゲティコードになる。しかも、トランザクション制御や排他制御のロジックをアプリケーション側できちんと作りこまねばならない。
【2】EJBサーバーを起動する必要があるので、ただでさえ重い。よく言われる「永続化は欲しいが分散機能は不要」という議論は確かに一理あり。
実際の開発で使うEJBは、CMPとStateless SessionBeanしか見たことがないが、それだけでも作るのに労力がかかりすぎる。
【3】TorqueにしてもHibernateにしても、SQLをJavaで書けるようにしただけ。余計にロジックを解読しにくくなる。レスポンスもあまりよくない。
多分、RDBを使う時点で、オブジェクト指向の技術が解決に向かないのではないか?
ORマッピングは、オブジェクト指向の最大の弱点だと思う。
| 固定リンク
「日記・コラム・つぶやき」カテゴリの記事
- TwitterやFacebookは人力キュレーションツールとして使う(2022.10.02)
- 「現代病「集中できない」を知力に変える 読む力 最新スキル大全」の感想(2022.08.28)
- 人類は海辺から生まれた~水生類人猿説が面白い(2022.08.09)
- 戦前の日本人の気質はまだ成熟していない青年期と同じだった(2022.06.14)
- 物理学を攻略するためのマップ(2022.04.18)
「プログラミング」カテゴリの記事
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのモジュールシステムは複雑性をより増している(2022.09.10)
- Javaはなぜ関数型言語になろうとしているのか(2022.09.02)
- Javaのラムダ式の考え方(2022.08.10)
- Javaはオブジェクト指向言語ではなく関数型言語だった~「[増補改訂]関数プログラミング実践入門」はお勧めの本だ(2022.08.06)
コメント