2
我有以下代码同工厂模式
public static DatabaseFactory {
public DatabaseProvider Create(dataSource, ProviderType provider type){
//dataSource = "Server\Instance", "MyOracleDB"
if (type == ProviderType.Sql)
return new SqlDatabaseProvider("$data source = {dataSource}; integrated security = True; MultipleActiveResultSets = True;");
throw new NotImplementedException("Provider not found");
}
}
这样做,这样我必须硬编码为每个供应商我实现了一个连接字符串创建连接字符串。我想知道是否有一种动态的方式来检索连接字符串或基于值来构建它。
请定义“更好”。 –
@Quality Catalyst更新了我的回复。 –
为什么这是错的?在某些时候,您需要了解每个连接的具体情况。这几乎是工厂的定义 - 理解具体案例并返回一般情况的中心位置,客户不必这样做。之后,你从哪里获取字符串就只是编程。尝试一个配置文件? – LoztInSpace