我的应用程序中有一个对象,需要在几个点上。这意味着,有很多对象,它们拥有对这个对象的引用。 是否有一种简单的方法,将此引用传播到所有其他对象? 一种可能性是使用单身人士。 另一种方法是使用依赖注入。 这些想法是好的做法还是有更好的方法来做到这一点?
谢谢!
答案 0 :(得分:2)
由于您需要与所有其他对象共享相同的对象,因此使其成为一个不错的选择。 (如果该对象是其类的唯一实例。否则,您可以实现类似的操作,但将其称为Singleton在技术上是不正确的。)
依赖注入使您的代码独立于特定对象的类和构造过程。如果您有多个可以在不同情况下使用的类,那么依赖注入将有所帮助。如果getInstance()
方法的返回类型是接口,则单例模式本身可以是一种注入依赖关系的方式。您不一定非必须使用依赖注入框架。
答案 1 :(得分:1)
如果只有一个要引用的实例,请使用Singleton,您可以根据需要选择Eager initialization或Lazy Initialization。
或者,如果您有多个实例而不是一个,请使用object pooling