|
|
1
2
他们做两件截然不同的事。 工厂的存在是为了创建一个类的一个或多个副本。它或它公开的方法可以提供给另一个需要依赖项的类,依赖类可以调用工厂方法来获取实例。 存在一个singleton来创建类的一个且只有一个副本。对类的引用是静态获取的,但是该引用随后可以作为实例传递,这与纯静态类不同。 |
|
|
2
3
它们不太相似,因此它们之间没有优势。如果你感到困惑,请先阅读: 当您只希望实例化一个对象类的一个实例时,可以使用singleton模式。 当需要抽象出对象类的实例化细节时,可以使用工厂模式。 |