コアクラス ライブラリ (ビジネス ロジック、データ レイヤー、およびいくつかのユーティリティ クラスを含む)、Windows サービス プロジェクト、Web サービス プロジェクト、および Web サイト プロジェクトで構成される私の Web アプリケーション (C#、.Net 3.5) には、他のすべてのプロジェクトで使用されるコアライブラリのいくつかの静的クラス。これらのクラス (たとえば、Logクラス) は、使用できるように設定するために、いくつかの初期化 ( Initializeメソッドがあります) が必要です。例として、LogクラスのInitializeメソッドには、ログ ファイルの保存先をLogに伝えるディレクトリ パス パラメーターがあります。または、ログの「設定」をロードすることを考えていました静的コンストラクターの構成ファイルからのクラス。欠点は、単体テストと本番コードで異なる設定が必要なことです。
これを設計するより良い方法はありますか?このアプローチの欠点は、静的クラスのすべてのコンシューマーが Initialize を呼び出そうとすることです。初期化されると、メソッドは Initialize コードを再度実行する代わりにすぐに戻るため、これは実際には問題ではありませんが、設計が少し奇妙に思えます。
私の英語が私が求めているものを説明するのに十分であることを願っています. 質問が十分に明確でない場合は、遠慮なく質問してください。