答案 0 :(得分:2)
在这种情况下,正如Scott Chamberlain在评论中所说,DataCacheFactory是作为创建或获取默认DataCache对象的一种方式提供的。由于缺少DataCache公共构造函数,因此没有其他方法可用于此类。
但是,在某些情况下,您确实可以选择。以System.Threading.Task
为例。您可以使用构造函数或使用TaskFactory创建。
在某些情况下提供两者的原因是工厂可以更有用。工厂可以为您提供预先创建的对象,其中包含某些有用的属性集。这可以使您不必在每次需要新对象时都指定它们。
作为示例:使用Task类,您可以执行以下操作:
var task = new Task(yourAction);
或者,您可以按如下方式创建TaskFactory:
var taskFactory = new TaskFactory(yourCancellationToken);
当你打电话时:
var task = taskFactory.StartNew(yourAction);
您创建的任务是:
使用TaskFactory,您不需要创建任务,然后填充所有这些属性,然后自己启动任务。工厂为你做。
答案 1 :(得分:1)
使用DataCacheFactory创建DataCache对象。没有困境 - 两者都使用它们。
答案 2 :(得分:0)
这两件事并不相互排斥 - 你需要同时使用它们。您正在看Factory Pattern。