プロジェクトの「データユーティリティ」として使用する静的クラスがあります。
このプロジェクトにはいくつかのフォームとクラスがあり、その複数がこの Data Utils クラス/データベースを呼び出します。
DRY の原則に違反したくないので、複数の OracleConnection コンポーネントを各フォームに配置したくありません。
また、Data Utils クラスがメイン フォームの「肉体的な」知識を取得し、OracleConnection のためにアクセスすることで、結束に違反したくありません。
各 Data Utils メソッド内に動的な OracleConnection を作成することもできますが、それも DRY に違反します。
私の静的クラスを非静的に変換し、それに OracleConnection メンバーを与え、それをコンストラクターでインスタンス化するための最善の解決策はありますか?
アップデート
将来の世代のために、これはLukLedの提案に基づいて私がしたことです:
internal class GreatAmericanNovelistsData
{
private static OracleConnection oc;
static GreatAmericanNovelistsData()
{
oc = new OracleConnection();
oc.ConnectionString = "User Id=SCLEMENS;Password=HucKfiNn;Server=HANNIBAL;Pooling=True;Min Pool Size=0;Max Pool Size=10;Connection Lifetime=0;Direct=True;Sid=HANNIBAL;Service Name=HANNIBAL;";
oc.Direct = true;
}