「依存性の注入」を説明する為のサンプルとしては何が適切でしょうか?

短いコード量で必要性が実感できるような実例があると必要性をわかってもらいやすいと思うのですが…。
(プログラミングに無関係な回答は0点です)

回答の条件
  • 1人2回まで
  • 登録:2006/11/01 08:05:13
  • 終了:2006/11/08 08:10:03

回答(2件)

id:ksfsa5 No.1

ksfsa5回答回数385ベストアンサー獲得回数52006/11/01 11:20:00

id:westfish

うーん。フレームワークを使うのは避けたいと思います。

2006/11/03 18:45:21
id:flakwing No.2

flakwing回答回数2ベストアンサー獲得回数12006/11/08 01:38:44

ポイント10pt

以下のようなJDBC接続するサンプルコードはどうでしょう?


サンプルでは、JDBCドライバのクラス名をプロパティファイルから取得し、Class.forName()でロードしています。

こうする事で、コード上では特定DBMSのJDBCドライバに依存することなく、実行時に使用するドライバを決定させることが出来ます。


このコードが有効活用されるケースは開発途中に使用するDBMSが変わる場合などで、プロパティファイルの書き換え(とJDBCドライバの配備)で対応が完了します。

// 設定ファイル読み込み
ResourceBundle rb = ResourceBundle.getBundle("db_config");
String className = rb.getString("classname");
String url = rb.getString("url");
String username = rb.getString("username");
String password = rb.getString("password");

// JDBCドライバのロード
Class.forName(className);

// データベース接続
Connection conn = DriverManager.getConnection(url, username, password);
Statement st = conn.createStatement();

// 以下、データベース操作
#設定ファイル (db_config.properties)
classname=sun.jdbc.odbc.JdbcOdbcDriver
url=jdbc:odbc:test1
username=scott
password=tiger

例外処理やSQL文に方言については無視しています。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません