在哪种情况下我们使用工厂模式和单例模式?

时间:2010-09-27 21:44:57

标签: design-patterns

当我们需要使用Factory模式以及何时使用Singleton模式时,请帮助我理解Factory模式和Singleton模式。

一个人的主要优势/劣势是什么?

任何建议(解释)都会对我有所帮助。

2 个答案:

答案 0 :(得分:3)

它们不是很相似,因此它们没有相互优势。如果您感到困惑,请先阅读:

当您希望仅允许实例化对象类的一个实例时,请使用单例模式。

当您需要抽象出对象类的实例化细节时,请使用工厂模式。

答案 1 :(得分:2)

他们做了两件非常不同的事情。

存在一个工厂来创建一个或多个类的副本。它或它公开的方法可以提供给另一个需要依赖的类,而依赖类可以调用工厂方法来获取实例。

存在单例以创建一个且只能创建一个类的副本。静态获取对类的引用,但该引用可以作为实例传递,与纯静态类不同。