我有两个类使用一种方法 StoreData(data) 编码到单个接口 IStore - 一个类将数据发送到写入数据库的 Web 服务,另一个将数据直接写入数据库。(工厂模式)
public IStore GetStorageClass(StorageType type)
{
if (type == StorageType.WebService)
return new WebService();
else
return new DatabaseStore();
}
现在,DatabaseStore 类需要一个连接字符串才能工作。问题是,谁负责向 DatabaseStore 提供连接字符串?如何提供?我想到了:
工厂只知道要传递给 DatabaseStore 的连接字符串
DatabaseStore 构造函数从最终用户提供的配置中读取它。
GetStorageClass 的调用者虽然不知道确切的实现,但传递参数和值的字典,其中参数是连接字符串(调用者知道使用数据库需要连接字符串)
我应该选择哪个选项,我是否在这里正确使用了工厂模式?感谢帮助!