当我们需要使用Factory模式以及何时使用Singleton模式时,请帮助我理解Factory模式和Singleton模式。
一个人的主要优势/劣势是什么?
任何建议(解释)都会对我有所帮助。
答案 0 :(得分:3)
它们不是很相似,因此它们没有相互优势。如果您感到困惑,请先阅读:
当您希望仅允许实例化对象类的一个实例时,请使用单例模式。
当您需要抽象出对象类的实例化细节时,请使用工厂模式。
答案 1 :(得分:2)
他们做了两件非常不同的事情。
存在一个工厂来创建一个或多个类的副本。它或它公开的方法可以提供给另一个需要依赖的类,而依赖类可以调用工厂方法来获取实例。
存在单例以创建一个且只能创建一个类的副本。静态获取对类的引用,但该引用可以作为实例传递,与纯静态类不同。