メソッドをそのままコールするだけのようなものが、
フレームワークと言えるのだ。
目的は(wikiから抜粋)
「多くの再利用可能なコードをフレームワークにまとめることによって、開発者の手間を省き、新たなアプリケーションのために標準的なコードを改めて書かなくて済むようにする」
例:
java.sql.Connection を纏めたもの(らしい)
中身は延々とこのようなものが続く。
public void close() throws java.sql.SQLException {
con.close();
}
※conは内部で定義されている、java.sql.Connection。
このクラスのコンストラクタで引き渡すパラメータ。
理解できない。何がしたいんだ。
改悪すらある。
public int getHoldability() throws SQLException {
return 1;
}
本来の処理を呼ぶには、
× hogeCon.getHoldability()
○ ((java.sql.Connection)hogeCon).getHoldability()
不便にしてどうする。こんなのソース見られないと、
絶対にわからんぜ?よしんば、処理の注入なんだったら、なぜ
1で統一なのかをコメントに入れろと。
さらに恐ろしいことは、こういったフレームワークを作られる方は
単価が高いらしい(フレームワークという言葉が値段をつり上げている模様)
なんか、コンビニの弁当買ってきて、重箱に詰め直しました〜。
いやー、大変でしたよー。あ、この重箱は5万円ねー。みたいな。
フレームワークを作る事が目的になっている。手段が目的になる典型。
このようなフレームワークを使うことを強要された
アプリケーションソースはもう想像を絶するよ。
Connection 作成だけでこれだよ(都合、7段ぐらい経由する必要有り)
XXXXUtil.getXXXFactory().getXXXX().getXXXCreator()....
しかもそのConnection本体はコンストラクタで自分で渡すとか
もう、アボガド、バナナ(AA略
ファクトリー言いたいだけ、イニシエーター言いたいだけ、
クリエーター言いたいだけ、デザインパターンと言いたいだけ
┐(´д`)┌ ウンザリ


