使用工厂方法创建单例类

时间:2013-03-19 11:38:12

标签: java oop design-patterns singleton

我的单例类实现了一个接口,将来我可以期待许多具体的实现。 我正在考虑通过工厂方法创建这个类的实例。工厂方法可能会超载。 我的问题是这个想法有多好或多坏?

2 个答案:

答案 0 :(得分:1)

根据您更新的评论,确定您可以这样做。工厂方法基于重载参数或参数中的枚举/整数值来表示持久化类的单例实现。有许多框架使用这种模式,比如为您提供基于不同协议与服务器通信的客户端实例。

MyFactory.pbClient("host", port);
MyFactory.httpClient("host", port);

答案 1 :(得分:0)

如果从工厂方法返回的实例是单例,则无关紧要。这是一个实现选择 - 根据您的需要做正确的事情。

此外,如果您的方法签名返回一个接口,那么从技术上讲,它是abstract factory方法,而不是factory方法。