我有一个静态类,用作我的项目的“数据实用程序”。
这个项目有几个表单和类,其中多个调用这个 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;
}