如何创建提供某些接口实现的类

时间:2012-01-25 16:23:18

标签: java

我的应用程序中有一些接口,我想创建单例类,提供它们的实现。像这样:

public class Singleton{
    //singleton's stuff

    private Interface1 interface1Impl;
    private Interface2 interface2Impl;

    public Interface1 getInterface1(){
        return interface1Impl;
    }

    public Interface2 getInterface2(){
        return interface2Impl;
    }
}

我在寻找什么 - 为应用中的每个课程提供相同的界面实现。通过这种方式一切正常,但它是实现这一目标的好方法吗?

2 个答案:

答案 0 :(得分:1)

在我看来,您可能正在实施dependency injection,如果是这样的话Google Guice是一个很棒的库供您使用。

答案 1 :(得分:1)

是的,它看起来很像工厂(或可能服务定位器更适合您的情况)。

工厂几乎总是比单身人士更好的主意。例如,Factory可以在需要时作为Singleton工作(延迟初始化,缓存),并且当您需要其他东西(用于测试,线程安全等)时,您可以更改此行为。