1

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

4

2 回答 2

1

根据您更新的评论,确保您可以做到这一点。工厂方法根据重载的参数或参数中的枚举/整数值输出持久性类的单例实现。有许多框架使用这种模式,比如给你一个客户端实例,这些实例与基于不同协议的服务器通信。

MyFactory.pbClient("host", port);
MyFactory.httpClient("host", port);
于 2013-03-19T11:57:32.193 回答
0

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

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

于 2013-03-19T12:08:47.480 回答