現在、CライブラリをJavaに移植しています。 Cライブラリは外部デバイスに接続し、デバイスを設定しデータを受信する機能を提供します。私のデザインの中核は、デバイスへの接続をカプセル化し、JNAを使用して生成された低レベルのC APIマッピングを提供するConnection
クラスです。シングルトンパターン、構成および依存性注入
Cライブラリのほとんどは、JavaのOO-World(100以上の関数を含む単一のヘッダライブラリ)にはうまく変換されないため、ほとんどの機能にアクセスするための2つの「マネージャ」クラスがあります。
これらのクラスを複数作成することは意味がありません.Cライブラリはすべてのリソース(構成、データバッファなど)を1つしか管理しないためです。だから、私はJavaクラスのためのシングルトンパターンを実装したい(効果的にも私の新しいJavaライブラリのユーザにシグナルを送り、システム全体に1つのマネージャオブジェクトしかない)。
さらに、外部の設定ファイルを使用してこれらのマネージャクラスを設定できます。以前は設定ユーティリティを実装していませんでしたので、どこに置くべきかわかりません。
最後に、すべてのManagerクラスでは、Connection
オブジェクトへの参照が必要です。
Connection
オブジェクト注入し、configファイル- (Singletonパターン):
は、だから私は、私を可能にする設計が必要
アイデア
私は実際に接続が別のオブジェクトに注入されていると話していましたが、私はちょうどセッター注入も使用できると思います。構成(設計上)をどこに置くのですか? –
おそらく、設定ファイルを読み込んでそれを何らかの種類のデータ構造に解析する設定クラスです。 –
そして、パブリックゲッターとセッターを使ってオブジェクトを設定しますか? –