选择Factory Method模式实现ExecutorService的设计动机是什么?

时间:2015-11-19 13:49:47

标签: java

我试图理解提供方法newFixedThreadPool(int)而不是类(如NewFixedThreadPool)可以使用new实例化的原因。

换句话说,他们为什么选择将类封装在Executors

1 个答案:

答案 0 :(得分:0)

嗯,这在api中很常见,请参阅例如CollectionsArraysPathsFiles等等。我认为它与api的设计有关,而不是其他任何事情。我认为的理由是,api不是要求你实例化新对象,配置和使用它们,而是提供“实用程序类”,它是最常见用例的工厂方法的集合。 在我看来,这种模式有一些优点:

  • 它可以让您(通常)单行完成常见任务。
  • 它可以防止您滥用/错误配置对象
  • 它允许API隐藏用户的实例化细节,从而实现未来的优化,重构等。